laravel组件化开发的实现方法是什么?
Admin 2021-05-11 群英技术资讯 696 次浏览
这篇文章给大家分享的是关于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
以上就是关于laravel组件化开发的实现介绍,文本有实现步骤以及代码,感兴趣的朋友可以参考,希望文本对大家学习有帮助,想要了解更多laravel组件化开发的内容大家可以继续关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在本篇文章里小编给大家整理的是关于如何设定php简写功能的相关文章以及知识点,有需要的朋友们可以学习下。
nginx和swoole的区别:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Swoole是一个面向生产环境的 PHP 异步网络通信引擎。
这篇文章主要介绍了简述PHP7.4 新特性和废弃的功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
在laravel中,可用“php artisan config:clear”语句清除config缓存,解决env获取不到数据的问题;该问题产生的原因是缓存配置文件通过env函数读取环境变量,可能会导致该读取不到环境变量,所以返回null。
implode使用一个字符串将数组变成字符串<?php$array=array('lastname','email','phone');$comma_separated=implode(",",$array);echo$comma_separated;//lastname,email,phone//Emptystringwhenusingan
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008