laravel框架学习笔记之组件化开发实现方法
发布:smiling 来源: PHP粉丝网 添加日期:2022-02-09 11:47:49 浏览: 评论:0
本文实例讲述了laravel框架学习笔记之组件化开发实现方法,分享给大家供大家参考,具体如下:
1.第一个难点,就是把本地的组件引入到项目中,进行开发和测试,这个已经解决了
2.就是需要发布组件中的配置文件到项目中
3.就是怎么在组建中加载组建中的视图view层
视图
你需要告诉 laravel 视图的位置才能使 laravel 加载包中的视图。你可以通过服务提供者的 loadViewsFrom 方法。loadViewsFrom 方法接受两个参数:视图的路径和包的名称。比如,如果你的包名称是“courier”,你应该像下面一样在 boot 中添加:
- /**
- * Perform post-registration booting of services.
- *
- * @return void
- */
- public function boot()
- {
- $this->loadViewsFrom(__DIR__.'/path/to/views', 'courier');
- }
包视图的使用方式是通过 package::view 类似的语法引用的,所以,你可以像这样从 courier 包中引入 admin 视图:
- Route::get('admin', function () {
- return view('courier::admin');
- });
4.就是数据的迁移,和数据的填充,命令行安装组件(数据库和配置文件,以及一些其他基本的操作,需要在命令行执行)
需要把服务提供者写入组件的composer中,供程序提前注册
- "extra":{
- "laravel":{
- "providers":[
- "ShineYork\\LaravelShop\\Wap\\Member\\Providers\\MemberServiceProvider"
- ]
- }
- }
在服务提供者中提供了加载console的命令的方法,把写好的命令类注入到方法中即可
- namespace ShineYork\LaravelShop\Wap\Member\Providers;
- use Illuminate\Support\Facades\Route;
- use Illuminate\Support\ServiceProvider;
- use Illuminate\Support\Arr;
- class MemberServiceProvide extends ServiceProvider {
- protected $commands = [
- \ShineYork\LaravelShop\Wap\Member\Console\Commands\InstallCommand::class,
- ];
- public function boot(){
- $this->commands($this->commands);
- }
- }
5.命令行执行发布配置文件和视图
猜测可能是命令行发布的服务提供者 前面的命令是执行发布,后面的参数是发布服务提供者的位置
php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
6.数据库迁移和数据填充
7.组件加载console
8.执行我们需要用代码执行的命令
- public function handle()
- {
- // call
- $this->call('migrate');
- $this->call('vendor:publish', [
- // 参数表示 => 参数值
- "--provider"=>"ShineYork\LaravelShop\Wap\Member\Providers\MemberServiceProvider"
- ]);
- // echo '这是测试wap-member的安装命令';
- }
9.快速创建composer 组件基础架构的组件(山药开发的组件)
composer global require shineyork/laravel-package-maker:2.0
Tags: laravel组件化开发
- 上一篇:laravel邮件发送的实现代码示例
- 下一篇:最后一页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)