Laravel 模块化开发模块 – Caffienate
Laravel多模块配置
1. 安装对应版本"caffeinated/modules"
composer require caffeinated/modules 相应版本号
| Laravel版本 | caffeinated/modules版本 |
| 5.0 | v1.2.3 |
| 5.1 | v2.0.1 - v3.2.5 |
| 5.2 | v2.2 - v3.2.5 |
| 5.3 | v4.0 - v4.1.6 |
| 5.4 | v4.2 - v4.2.1 |
| 5.5 | v4.2.2, v4.3.2 |
| 5.6 | v4.3 - v4.3.2 |
| 5.7 | v4.4 - v5.0.2 |
| 5.8 | v5.1.0 - v5.2.0 |
| 6.0 | v5.2.0 - v6.0.1 |
2. 生成配置文件
php artisan vendor:publish --provider="Caffeinated\Modules\ModulesServiceProvider" --tag="config"
执行命令后会在config文件夹中生成modules.php
3. 引入服务提供者与别名
进入文件config/app.php,添加以下内容:
// 找到providers数组在尾部添加代码
Caffeinated\Modules\ModulesServiceProvider::class
// 找到aliases数组在尾部添加代码
'Module' => Caffeinated\Modules\Facades\Module::class,
4. 创建新模块
php artisan make:module 模块名称

kuguats@kuguats-vb:/var/www/jx3box-helper$ php artisan make:module admin
*-----------------------------------------------*
| |
| Copyright (c) 2016 |
| Shea Lewis |
| |
| Thanks for using Caffeinated! |
*-----------------------------------------------*
______ ___ _________ ______
___ |/ /___________ /___ ____ /____________
__ /|_/ /_ __ \ __ /_ / / /_ /_ _ \_ ___/
_ / / / / /_/ / /_/ / / /_/ /_ / / __/(__ )
/_/ /_/ \____/\__,_/ \__,_/ /_/ \___//____/ *-----------------------------------------------*
| |
| Step #1: Configure Manifest |
| |
*-----------------------------------------------* Please enter the name of the module: [Admin]:
> Please enter the slug for the module: [admin]:
> Please enter the module version: [1.0]:
> Please enter the description of the module: [This is the description for the Admin module.]:
> You have provided the following manifest information:
Name: Admin
Slug: admin
Version: 1.0
Description: This is the description for the Admin module.
Basename (auto-generated): Admin
Namespace (auto-generated): App\Modules\Admin If the provided information is correct, type "yes" to generate. (yes/no) [no]:
> yes Thanks! That's all we need.
Now relax while your module is generated.
2/2 [============================] 100%
Module generated successfully.

5. 命名空间
添加视图命名空间

// 可以在服务提供者register方法内添加代码
View::addNamespace('{命名空间名}', '{视图模板文件夹路径}'); // 当调用视图时
return view("admin::index.index"); // 会先检索resources/views/vendor/admin上是否存在视图文件
// 如果不存对应视图则继续检索app/Modules/admin/Resources/Views

6. 相关命令

make:module
make:module:controller
make:module:migration
make:module:request
make:module:test module:disable
module:enable
module:list
module:migrate
module:migrate:refresh
module:migrate:reset
module:migrate:rollback
module:seed

Laravel 模块化开发模块 – Caffienate的更多相关文章
- JavaScript模块化开发&&模块规范
在做项目的过程中通常会有一些可复用的通用性功能,之前的做法是把这个功能抽取出来独立为一个函数统一放到commonFunctions.js里面(捂脸),实现类似于snippets的代码片段收集. fun ...
- js模块化开发——模块的写法
随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者 ...
- C04 模块化开发
目录 模块化开发概述 函数概述 如何使用函数 字符串处理函数 模块化开发特点 模块化开发概述 概述 C语言是面向过程的语言,意味着编写C语言程序的时候,我们要像计算机一样思考如何设计程序. 模块化开发 ...
- laravel5.2 增加Caffienate Modules,实现模块化开发
1.模块化开发可以把框架分成 Topc前台模块,Topm手机端前台,Admin后台管理模块,每个模块中都有自己的一套Controller,Logic,router等. 2.咖啡因模块是一个简单的包,以 ...
- 模块化开发 | es6模块暴露与引入
CommonJS模块开发 CommonJS定义 每个文件就一个模块,有自己的作用域.在一个文件里面定义的变量.函数.类,都是私有的,对其他文件不可见. 私有作用域不会污染全局作用域. 模块可加载多次, ...
- 初学seaJs模块化开发,利用grunt打包,减少http请求
原文地址:初学seaJs模块化开发,利用grunt打包,减少http请求 未压缩合并的演示地址:demo2 学习seaJs的模块化开发,适合对seajs基础有所了解的同学看,目录结构 js — —di ...
- JS模块化开发:使用SeaJs高效构建页面
一.扯淡部分 很久很久以前,也就是刚开始接触前端的那会儿,脑袋里压根没有什么架构.重构.性能这些概念,天真地以为前端===好看的页面,甚至把js都划分到除了用来写一些美美的特效别无它用的阴暗角落里,就 ...
- iOS关于模块化开发解决方案(纯干货)
关于iOS模块化开发解决方案网上也有一些介绍,但真正落实在在具体的实例却很少看到,计划编写系统文章来介绍关于我对模块化解决方案的理解,里面会有包含到一些关于解耦.路由.封装.私有Pod管理等内容:并编 ...
- Angular 结合RequireJs实现模块化开发
angular的指令是模块化很好的一个体现,下面我将只使用指令(不用控制器),结合requirejs,实现模块化开发. 模块化关系图:
- .NET/ASP.NET MVC(模块化开发AraeRegistration)
阅读目录: 1.开篇介绍 2.AreaRegistration注册路由(传递路由上下文进行模块化注册) 1]开篇介绍 ASP.NET Routing 路由功能非常强大,设计的也很巧妙:如果说ASP.N ...
随机推荐
- skywalking入口
skywalking通过maven配置指定org.apache.skywalking.apm.agent.SkyWalkingAgent为premain-class,该类中包含了一个premain方法 ...
- 持续构建行业影响力|HarmonyOS SDK荣膺年度“技术卓越”奖项
自2023年9月华为宣布鸿蒙原生应用全面启动以来,HarmonyOS SDK通过将HarmonyOS系统级能力对外开放,支撑开发者高效打造更纯净.更智能.更精致.更易用的鸿蒙原生应用,和开发者共同成长 ...
- Qt 排序 QSort
一.对整形排序 // qSort 对整形排序 QList<int> list; list << 1 << 3 << 19 << 0 < ...
- 直播预告丨Hello HarmonyOS进阶课程第四课——ArkUI动画开发
为了帮助初识HarmonyOS的开发者快速入门,我们曾推出Hello HarmonyOS系列课程,从最基础的配置IDE和创建Hello World开始,详细介绍HarmonyOS基础.开发环境搭建.I ...
- 基于Material Design风格开源、易用、强大的WPF UI控件库
前言 今天大姚给大家分享一款基于Material Design风格开源.免费(MIT License).易于使用.强大的WPF UI控件库:MaterialDesignInXamlToolkit. 项 ...
- uni-app上传图片和文件
如图所示: 上传图片,使用的是uni.chooseImage这个官方api,count 数量根据自己的需求来,我们是最多只能上传9张 uploadImgEvent(){ uni.chooseImage ...
- 深度解读《深度探索C++对象模型》之返回值优化
接下来我将持续更新"深度解读<深度探索C++对象模型>"系列,敬请期待,欢迎关注!也可以关注公众号:iShare爱分享,自动获得推文和全部的文章列表. 没有启用返回值优 ...
- textfsm 案例分享
由于安全需要,需要定期对接入层交换机配置进行合规检查,避免不规范配置存在的漏洞给公司网络带来安全风险. 如下案例是通过textfsm 提取交换机接口的配置信息,进一步进行检查准入配置是否开启: 1.首 ...
- Java实现学生投票系统
"感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友.您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!" 代码 im ...
- RocketMQ 5.0: 存储计算分离新思路
简介: 在阿里云上,RocketMQ 的商业化产品也以弹性云服务的形式为全球数万个用户提供企业级的消息解决方案,被广泛应用于互联网.大数据.移动互联网.物联网等领域的业务场景,成为了业务开发的首选消息 ...