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自动更新新闻DIY
Oct 09 PHP
PHP中计算字符串相似度的函数代码
Dec 29 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
PHP中开启gzip压缩的2种方法
Jan 31 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
PHP中把对象数组转换成普通数组的方法
Jul 10 PHP
PHP类和对象相关系统函数与运算符小结
Sep 28 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
Oct 25 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
May 13 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
Dec 20 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
windows xp下安装pear
2006/12/02 PHP
在PHP中使用Sockets 从Usenet中获取文件
2008/01/10 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
javascript 获取图片颜色
2009/04/05 Javascript
javascript 必知必会之closure
2009/09/21 Javascript
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
2014/06/30 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
使用js实现数据格式化
2014/12/03 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
JS实现小球的弹性碰撞效果
2017/11/11 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
vue通过数据过滤实现表格合并
2020/11/30 Javascript
JavaScript实现烟花绽放动画效果
2020/08/04 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
Python判断文本中消息重复次数的方法
2016/04/27 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
python实现监控某个服务 服务崩溃即发送邮件报告
2018/06/21 Python
老生常谈python中的重载
2018/11/11 Python
WxPython建立批量录入框窗口
2019/02/27 Python
pytorch梯度剪裁方式
2020/02/04 Python
TensorFlow保存TensorBoard图像操作
2020/06/23 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
教学副校长工作总结
2015/08/13 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书