laravel框架学习笔记之组件化开发实现方法
本文实例讲述了laravel框架学习笔记之组件化开发实现方法。分享给大家供大家参考,具体如下:
1.第一个难点,就是把本地的组件引入到项目中,进行开发和测试,这个已经解决了
2.就是需要发布组件中的配置文件到项目中
3.就是怎么在组建中加载组建中的视图view层
视图
你需要告诉laravel视图的位置才能使laravel加载包中的视图。你可以通过服务提供者的loadViewsFrom方法。loadViewsFrom方法接受两个参数:视图的路径和包的名称。比如,如果你的包名称是“courier”,你应该像下面一样在boot中添加:
/** *Performpost-registrationbootingofservices. * *@returnvoid */ publicfunctionboot() { $this->loadViewsFrom(__DIR__.'/path/to/views','courier'); }
包视图的使用方式是通过package::view类似的语法引用的。所以,你可以像这样从courier包中引入admin视图:
Route::get('admin',function(){ returnview('courier::admin'); });
4.就是数据的迁移,和数据的填充,命令行安装组件(数据库和配置文件,以及一些其他基本的操作,需要在命令行执行)
需要把服务提供者写入组件的composer中,供程序提前注册
"extra":{ "laravel":{ "providers":[ "ShineYork\\LaravelShop\\Wap\\Member\\Providers\\MemberServiceProvider" ] } }
在服务提供者中提供了加载console的命令的方法,把写好的命令类注入到方法中即可
namespaceShineYork\LaravelShop\Wap\Member\Providers; useIlluminate\Support\Facades\Route; useIlluminate\Support\ServiceProvider; useIlluminate\Support\Arr; classMemberServiceProvideextendsServiceProvider{ protected$commands=[ \ShineYork\LaravelShop\Wap\Member\Console\Commands\InstallCommand::class, ]; publicfunctionboot(){ $this->commands($this->commands); } }
5.命令行执行发布配置文件和视图
//猜测可能是命令行发布的服务提供者前面的命令是执行发布,后面的参数是发布服务提供者的位置 phpartisanvendor:publish--provider="Encore\Admin\AdminServiceProvider"
6.数据库迁移和数据填充
7.组件加载console
8.执行我们需要用代码执行的命令
publicfunctionhandle() { //call $this->call('migrate'); $this->call('vendor:publish',[ //参数表示=>参数值 "--provider"=>"ShineYork\LaravelShop\Wap\Member\Providers\MemberServiceProvider" ]); //echo'这是测试wap-member的安装命令'; }
9.快速创建composer组件基础架构的组件(山药开发的组件)
composerglobalrequireshineyork/laravel-package-maker:2.0
更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。