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 相关文章推荐
模板引擎Smarty深入浅出介绍
Dec 06 PHP
Mysql的GROUP_CONCAT()函数使用方法
Mar 28 PHP
PHP 读取文件的正确方法
Apr 29 PHP
使用PHP下载CSS文件中的图片的代码
Sep 24 PHP
php创建sprite
Feb 11 PHP
php更新修改excel中的内容实例代码
Feb 26 PHP
PHP如何将XML转成数组
Apr 04 PHP
让你的PHP7更快之Hugepage用法分析
May 31 PHP
CI框架无限级分类+递归的实现代码
Nov 01 PHP
PHP输出多个元素的排列或组合的方法
Mar 14 PHP
PHP共享内存使用与信号控制实例分析
May 09 PHP
php写app用的框架整理
Sep 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中生成随机密码的自定义函数代码
2013/10/21 PHP
使用PHP生成图片的缩略图的方法
2015/08/18 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
PHP读取、解析eml文件及生成网页的方法示例
2017/09/04 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
一个用js实现控制台控件的代码
2007/09/04 Javascript
js类中的公有变量和私有变量
2008/07/24 Javascript
javascript 解析url的search方法
2010/02/09 Javascript
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
JS小数运算出现多为小数问题的解决方法
2016/06/02 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
python处理multipart/form-data的请求方法
2018/12/26 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
什么是python的必选参数
2020/06/21 Python
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
什么是规则表达式
2012/05/03 面试题
妇女工作先进事迹
2014/08/17 职场文书
工作表扬信
2015/01/17 职场文书
关于环保的广播稿
2015/12/17 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA