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 相关文章推荐
第八节--访问方式
Nov 16 PHP
php 生成饼图 三维饼图
Sep 28 PHP
php打造属于自己的MVC框架
Mar 07 PHP
PHP 文件编程综合案例-文件上传的实现
Jul 03 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
Jan 22 PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 PHP
php简单防盗链实现方法
Jul 29 PHP
Yii配置与使用memcached缓存的方法
Jul 13 PHP
thinkPHP中_initialize方法实例分析
Dec 05 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
详解PHP变量传值赋值和引用赋值变量销毁
Mar 23 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/06/18 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
理清apply(),call()的区别和关系
2011/08/14 Javascript
jQuery文本框(input textare)事件绑定方法教程
2013/04/24 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
通过JS来判断页面控件是否获取焦点
2014/01/03 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
jQueryMobile之Helloworld与页面切换的方法
2015/02/04 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
详解React 条件渲染
2020/07/08 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 战前探营!
2014/05/21 DOTA
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
Django csrf 验证问题的实现
2018/10/09 Python
python对csv文件追加写入列的方法
2019/08/01 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
临床医师专业个人自我评价范文
2013/11/07 职场文书
安全教育感言
2014/03/04 职场文书
春节超市活动方案
2014/08/14 职场文书