加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

laravel组件化开发的实现办法是什么?

发布时间:2022-04-07 16:09:23 所属栏目:语言 来源:互联网
导读:这篇文章给大家分享的是关于laravel框架的组件化开发实现方法的内容,介绍了组件化开发实现的步骤和代码,文本示例具有一定的借鉴价值,对于组件化开不清楚的朋友可以参考学习,下面就跟随小编一起学习吧。 1.第一个难点,就是把本地的组件引入到项目中,进

        这篇文章给大家分享的是关于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":[
        "ShineYorkLaravelShopWapMemberProvidersMemberServiceProvider"
   
        在服务提供者中提供了加载console的命令的方法,把写好的命令类注入到方法中即可
 
namespace ShineYorkLaravelShopWapMemberProviders;
use IlluminateSupportFacadesRoute;
use IlluminateSupportServiceProvider;
use IlluminateSupportArr;
class MemberServiceProvide extends ServiceProvider {
  protected $commands = [
    ShineYorkLaravelShopWapMemberConsoleCommandsInstallCommand::class,
  ];
  public function boot(){
    $this->commands($this->commands);
  }
}
 
        5. 执行我们需要用代码执行的命令
 
public function handle()
{
    // call
    $this->call('migrate');
    $this->call('vendor:publish', [
     // 参数表示 => 参数值
     "--provider"=>"ShineYorkLaravelShopWapMemberProvidersMemberServiceProvider"
    ]);
    // echo '这是测试wap-member的安装命令';

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读