laravel框架学习笔记之组件化开发实现方法


Posted in PHP onFebruary 01, 2020

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
一键删除顽固的空文件夹 软件下载
Jan 26 PHP
php 代码优化的42条建议 推荐
Sep 25 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
Jun 25 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
Jun 27 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
May 12 PHP
PHP实现过滤掉非汉字字符只保留中文字符
Jun 04 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 PHP
PHP 中使用ajax时一些常见错误总结整理
Feb 27 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
Mar 15 PHP
php中的buffer缓冲区用法分析
May 31 PHP
PHP实现本地图片转base64格式并上传
May 29 PHP
php正则表达式使用方法整理集合
Jan 31 #PHP
laravel邮件发送的实现代码示例
Jan 31 #PHP
laravel5.6 框架邮件队列database驱动简单demo示例
Jan 26 #PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
Jan 26 #PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 26 #PHP
Laravel框架自定义分页样式操作示例
Jan 26 #PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 #PHP
You might like
php对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
PHP多维数组元素操作类的方法
2016/11/14 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
键盘控制事件应用教程大全
2006/11/24 Javascript
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
2015/01/29 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
深入分析Javascript跨域问题
2015/04/17 Javascript
使用three.js 画渐变的直线
2016/06/05 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
[01:11]steam端dota2实名认证操作流程视频
2021/03/11 DOTA
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
Python list与NumPy array 区分详解
2019/11/06 Python
pyqt5中动画的使用详解
2020/04/01 Python
python属于跨平台语言码
2020/06/09 Python
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
企业管理标语
2014/06/10 职场文书
乡镇党的群众路线对照检查材料
2014/09/24 职场文书
2014年酒店服务员工作总结
2014/12/08 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript