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 ...
随机推荐
- 内容分发策略与 SEO 优化指南
内容分发 内容分发是指通过各种媒介分享.发布或传播内容给受众的过程.这些媒介可以包括不同的渠道,例如社交媒体平台(Facebook.Twitter.LinkedIn.朋友圈.微博.小红书.B 站.抖音 ...
- Spring 框架模块深度解析:核心容器、数据访问、Web 层与其他关键模块
Spring 可能成为您的所有企业应用程序的一站式商店.但是,Spring 是模块化的,允许您挑选适用于您的模块,而无需引入其他模块.下面的部分提供了 Spring Framework 中所有可用模块 ...
- AI云增强升级!还原生动人像,拍出质感照片
近期不少细心用户发现,在用HUAWEI Mate 60 Pro手机拍照后,使用相册中的AI云增强功能,照片变得更加细腻有质感.这是因为AI云增强升级并更新支持了人像模式拍摄的照片,高清自然的人像细节还 ...
- EDA(Exploratory Data Analysis)数据探索性分析
EDA目的:通过了解数据集的分布情况,数据之间的关系,来帮我们更好的后期进行特征工程和建立模型. 本文主要是一个根据coco数据集格式的json文件,来分析数据集中图片尺寸,宽高比,bbox尺寸,宽高 ...
- React 逃离闭包陷阱
众所周知,JavaScript 中的闭包(Closures)一定是这种语言最可怕的特性之一,即使是无所不知的 ChatGPT 也是这样说的.另外它可能也是最隐蔽的语言特性之一,我们在编写 React ...
- 使用 Docker Compose 安装 APISIX
1.基本概念 APISIX 是 Apache 下的一款云原生的 API 网关,支持全生命周期的 API 管理,在应用中可以作为所有 API 调用的统一入口. APISIX 有一些基础概念如下: Ups ...
- ImageJ软件使用教程(三):目标计数
目录 多点工具法 阀值分割法 二值化 填充分割 自动计数 显示结果 总结 参考资料 本文以钢筋计数为例,讲解一下如何使用ImageJ软件进行计数,这里只介绍两种方法: 多点工具法 阀值分割法 钢筋计数 ...
- ERP财务管理有哪些功能?如何选择合适的ERP软件开发商定制开发适合自己的ERP财务管理?
企业日常运营中,分工明确.结构清晰的财务管理非常重要,因此在完整的ERP解决方案中,财务管理是不可或缺的部分,甚至财务管理是整个ERP解决方案的核心,其它功能模块都围绕着财务管理构建价值链创造流程,最 ...
- 从源码入手详解ReentrantLock,一个比synchronized更强大的可重入锁
写在开头 随手一翻,发现对于Java中并发多线程的学习已经发布了十几篇博客了,多线程 是Java基础中的重中之重!因此,可能还需要十几篇博客才能大致的讲完这部分的知识点,初学者对于这部分内容一定要多花 ...
- Oracle ORA-12725 unmatched parentheses in regular expression
Oracle ORA-12725 unmatched parentheses in regular expression 简单来说就是正则表达式中的括号问题 这种一般就可以锁定使用正则的函数,例如 r ...