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 相关文章推荐
一个简单计数器的源代码
Oct 09 PHP
php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密
Jan 07 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 PHP
PHP 使用MySQL管理Session的回调函数详解
Jun 21 PHP
PHP访问Google Search API的方法
Mar 05 PHP
php中将一个对象保存到Session中的方法
Mar 13 PHP
smarty内部日期函数html_select_date()用法实例分析
Jul 08 PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
May 17 PHP
php实现URL加密解密的方法
Nov 17 PHP
php从数据库读取数据,并以json格式返回数据的方法
Aug 21 PHP
详解Laravel框架的依赖注入功能
May 27 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基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
php源码的安装方法和实例
2019/09/26 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
python optparse模块使用实例
2015/04/09 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
Python各种扩展名区别点整理
2020/02/27 Python
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
水产养殖学应届生求职信
2013/09/29 职场文书
汽车工程专业应届生求职信
2013/10/19 职场文书
学生实习推荐信范文
2013/11/26 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
2014年政务公开工作总结
2014/12/09 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
golang import自定义包方式
2021/04/29 Golang
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS