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获取远程图片并把它保存到本地的代码
Apr 07 PHP
PHP教程 基本语法
Oct 23 PHP
PHP原生模板引擎 最简单的模板引擎
Apr 25 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
将php数组输出html表格的方法
Feb 24 PHP
thinkPHP实现瀑布流的方法
Nov 29 PHP
php+mysql查询优化简单实例
Jan 13 PHP
Zend Framework教程之Autoloading用法详解
Mar 08 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
Jul 13 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
Yii2中使用asset压缩js,css文件的方法
Nov 24 PHP
php中输出json对象的值(实现方法)
Mar 07 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 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
2014/07/11 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
PHP数组游标实现对数组的各种操作详解
2016/01/26 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
php表单处理操作
2017/11/16 PHP
Wordpress ThickBox 点击图片显示下一张图的修改方法
2010/12/11 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
微信小程序 扎金花简单实例
2017/02/21 Javascript
从零学习node.js之mysql数据库的操作(五)
2017/02/24 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
Angular4 ElementRef的应用
2018/02/26 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
[00:17]DOTA2荣耀之路5:It’s a disastah!
2018/05/28 DOTA
Python最长公共子串算法实例
2015/03/07 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
Python基于递归算法实现的走迷宫问题
2017/08/04 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
代码中finally中的代码会不会执行
2012/02/06 面试题
闪闪红星观后感
2015/06/08 职场文书
董事长新年致辞
2015/07/29 职场文书
员工安全责任协议书
2016/03/22 职场文书
Python中with上下文管理协议的作用及用法
2022/03/18 Python