代码自动生成工具(alpaca-builder)目的用来快速的编写代码,减少一些重复的工作。使用alpaca-laravel框架开发项目时,可以利用代码生成工具,快速的生成代码,减少工作时间,提高工作效率。
alpaca-spa-laravel是前后端分离开发的一个后台管理系统的demo。laravel用来实现后端功能,alpaca-spa用来实现前端功能,前后端之间通过json交换数据。
详情请阅读《alpaca-laravel框架(一)---概述,前后分离的后台管理系统》。
alpaca-builder使用灵活的模版格式来配置代码生成文件,如果现有的代码模版不能满足需求,只需要修改代码模版,或者新增代码模版即可。
主要功能是根据输入的数据库表名声生成一下内容:
1生成后端实体类2生成后端控制器3生成后端路由4生成前端js控制器5生成前端编辑页面6生成前端列表页面7生成配置接口url8选择是否复制到对应页面
访问方式,浏览器中输入地址:你的域名builder
(注意:只有当配置文件中app_env=local时,才容许访问)
你当然直接使用laravel的视图模板,在这里,我们编写一个简单的视图模版引擎,
主要的功能能,读取指定模版文件,将数据渲染到模版指定位置。
代码如下:
template=__dir__.'/template/'.$template.".php";//数据$newtpl->data=$data;//layout$newtpl->layout=static::layouttpl();//返回return$newtpl;}/***创建layout视图*@authorchengcheng*@paramstring$template视图模板名字*@paramarray$data视图数据*@date2016年11月5日14:47:40*@returnstatic*/publicstaticfunctionlayouttpl($template='layout',$data=null){//实例化新的对象$newtpl=newstatic;//设置视图$newtpl->template=__dir__.'/template/'.$template.".php";//数据$newtpl->data=$data;//返回return$newtpl;}/***创建视图*@authorchengcheng*@paramnull$data*@returnnull|string*@throwsexception*/publicfunctionhtml($data=null){//加载自己的模板if(!empty($this->data)){foreach($this->dataas$key=>$value){$this->$key=$value;}}//参数中的数据if(!empty($data)){foreach($dataas$key=>$value){$this->$key=$value;}}//读取模板中的信息$html=null;try{ob_start();require$this->template;$html=ob_get_clean();}catch(exception$ex){ob_end_clean();throw$ex;}//加载layout的模板if($this->layout){$html=$this->layout->html(['content'=>$html]);}//返回信息return$html;}}交互页面
编写一个交互页面,用来接受用户输入的数据库表名,生成的内容等。