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 常用类整理
Dec 23 PHP
利用php获取服务器时间的实现代码
Jun 07 PHP
一个简单且很好用的php分页类
Oct 26 PHP
php生成扇形比例图实例
Nov 06 PHP
用PHP来计算某个目录大小的方法
Apr 01 PHP
网站防止被刷票的一些思路与方法
Jan 08 PHP
php如何实现只替换一次或N次
Oct 29 PHP
php常用字符函数实例小结
Dec 29 PHP
php图像验证码生成代码
Jun 08 PHP
PHP 实现从数据库导出到.csv文件方法
Jul 06 PHP
PHP获取访问设备信息的方法示例
Feb 20 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
laravel学习教程之存取器
2016/07/30 PHP
PHP 的Opcache加速的使用方法
2017/12/29 PHP
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
一个网马的tips实现分析
2010/11/28 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
vue学习之mintui picker选择器实现省市二级联动示例
2017/10/12 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
python实现简单图片物体标注工具
2019/03/18 Python
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
普罗米修斯教学反思
2014/02/06 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
金融专业求职信
2014/08/05 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
普通党员整改措施
2014/10/24 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
监考失职检讨书
2015/01/26 职场文书
环保守法证明
2015/06/24 职场文书
入党后的感想
2015/08/10 职场文书
清明节随笔
2015/08/15 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android