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程序--记数器
Oct 09 PHP
PHP中的cookie
Nov 26 PHP
php表单转换textarea换行符的方法
Sep 10 PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 PHP
php ctype函数中文翻译和示例
Mar 21 PHP
php中in_array函数用法探究
Nov 25 PHP
thinkphp框架实现数据添加和显示功能
Jun 29 PHP
PHP微信API接口类
Aug 22 PHP
PHP中cookie知识点学习
May 06 PHP
thinkPHP框架实现的短信接口验证码功能示例
Jun 20 PHP
PHP安装memcache扩展的步骤讲解
Feb 14 PHP
php实现微信分享朋友链接功能
Feb 18 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
解决cPanel无法安装php5.2.17
2014/06/22 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
关于jQuery新的事件绑定机制on()的使用技巧
2013/04/26 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
JS实现520 表白简单代码
2018/05/21 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
用Python实现一个简单的线程池
2015/04/07 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
python简单判断序列是否为空的方法
2015/06/30 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
美国领先的汽车轮胎和轮毂供应商:TireBuyer
2016/07/21 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
个人收入证明范本
2014/01/12 职场文书
办护照工作证明范本
2014/01/14 职场文书
2014年冬季防火方案
2014/05/21 职场文书
个人租房协议书
2014/11/28 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
解决Pytorch半精度浮点型网络训练的问题
2021/05/24 Python
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python