laravel框架学习笔记之组件化开发实现方法
时间:2022-07-27
本文章向大家介绍laravel框架学习笔记之组件化开发实现方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了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":[
"ShineYorkLaravelShopWapMemberProvidersMemberServiceProvider"
]
}
}
在服务提供者中提供了加载console的命令的方法,把写好的命令类注入到方法中即可
namespace ShineYorkLaravelShopWapMemberProviders;
use IlluminateSupportFacadesRoute;
use IlluminateSupportServiceProvider;
use IlluminateSupportArr;
class MemberServiceProvide extends ServiceProvider {
protected $commands = [
ShineYorkLaravelShopWapMemberConsoleCommandsInstallCommand::class,
];
public function boot(){
$this- commands($this- commands);
}
}
5.命令行执行发布配置文件和视图
//猜测可能是命令行发布的服务提供者 前面的命令是执行发布,后面的参数是发布服务提供者的位置
php artisan vendor:publish --provider="EncoreAdminAdminServiceProvider"
6.数据库迁移和数据填充
7.组件加载console
8.执行我们需要用代码执行的命令
public function handle()
{
// call
$this- call('migrate');
$this- call('vendor:publish', [
// 参数表示 = 参数值
"--provider"= "ShineYorkLaravelShopWapMemberProvidersMemberServiceProvider"
]);
// echo '这是测试wap-member的安装命令';
}
9.快速创建composer 组件基础架构的组件(山药开发的组件)
composer global require shineyork/laravel-package-maker:2.0
更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
- ASM 翻译系列第三十二弹:自制数据抽取小工具
- WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险
- ASM 翻译系列第三十三弹:REQUIRED_MIRROR_FREE_MB的含义
- 放弃Python转向Go语言:这9大理由就够了 !(附代码)
- CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放
- 利用HSTS安全协议柔性解决全站HTTPS的兼容性问题
- Nginx内容替换模块http_substitutions_filter_module及实用案例分享
- libmemcached编译安装报错解决记录
- 解决网站静态缓存后WP-PostViews插件不计数的问题
- Haproxy安装部署文档及多配置文件管理方案
- ASM 翻译系列第三十四弹:ASM磁盘组重要属性介绍
- 博客集成Hitokoto·一言经典语句功能
- 博客网页导致电脑CPU飙升的问题解决记录
- 恢复WordPress分类目录的别名链接形式
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- nacos做服务注册中心
- nacos做服务配置中心
- 使用gateway作服务网关
- 使用feign进行服务调用
- sentinel的实际应用
- SpringMVC异常的处理机制
- 刷面试题的正确姿势!Android400道面试题+通关知识宝典助你进大厂,查漏补缺
- 3分钟短文:Laravel路由加模型等于?
- TSF微服务无法查看JVM监控问题
- Mitmproxy 的安装与使用案例
- leetcode之Bigram分词
- TensorFlow2 开发指南 | 01 手写数字识别快速入门
- Spring 数据初始 H2 后进行数据查询提示 Schema not found 错误
- Discourse CentOS 8 全新安装手册
- H2 数据库插入时间的方法