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 相关文章推荐
用PHP实现登陆验证码(类似条行码状)
Oct 09 PHP
php 更新数据库中断的解决方法
Jun 05 PHP
在mysql数据库原有字段后增加新内容
Nov 26 PHP
php json_encode奇怪问题说明
Sep 27 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
Aug 22 PHP
深入PHP数据缓存的使用说明
May 10 PHP
CodeIgniter框架中_remap()使用方法2例
Mar 10 PHP
php实现文件下载实例分享
Jun 02 PHP
php添加数据到xml文件的简单例子
Sep 08 PHP
PHP count_chars()函数讲解
Feb 14 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
php中使用array_filter()函数过滤数组实例讲解
Mar 03 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
ftp类(myftp.php)
2006/10/09 PHP
php中$this->含义分析
2009/11/29 PHP
php 归并排序 数组交集
2011/05/10 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
2019/04/02 PHP
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
javascript之AJAX框架使用说明
2010/04/24 Javascript
基于jQuery替换table中的内容并显示进度条的代码
2011/08/02 Javascript
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
js获取url参数值的两种方式
2013/09/10 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
Node.js 实现简单小说爬虫实例
2016/11/18 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
微信小程序之购物车功能
2020/09/23 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
vc6编写python扩展的方法分享
2014/01/17 Python
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
彻底理解Python中的yield关键字
2019/04/01 Python
opencv python图像梯度实例详解
2020/02/04 Python
PyTorch笔记之scatter()函数的使用
2020/02/12 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
仓库门卫岗位职责
2013/12/22 职场文书
大学生村官演讲稿
2014/04/25 职场文书
室内设计专业自荐信
2014/05/31 职场文书
党员反对四风问题思想汇报
2014/09/12 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python