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的更多相关文章

  1. JavaScript模块化开发&&模块规范

    在做项目的过程中通常会有一些可复用的通用性功能,之前的做法是把这个功能抽取出来独立为一个函数统一放到commonFunctions.js里面(捂脸),实现类似于snippets的代码片段收集. fun ...

  2. js模块化开发——模块的写法

    随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者 ...

  3. C04 模块化开发

    目录 模块化开发概述 函数概述 如何使用函数 字符串处理函数 模块化开发特点 模块化开发概述 概述 C语言是面向过程的语言,意味着编写C语言程序的时候,我们要像计算机一样思考如何设计程序. 模块化开发 ...

  4. laravel5.2 增加Caffienate Modules,实现模块化开发

    1.模块化开发可以把框架分成 Topc前台模块,Topm手机端前台,Admin后台管理模块,每个模块中都有自己的一套Controller,Logic,router等. 2.咖啡因模块是一个简单的包,以 ...

  5. 模块化开发 | es6模块暴露与引入

    CommonJS模块开发 CommonJS定义 每个文件就一个模块,有自己的作用域.在一个文件里面定义的变量.函数.类,都是私有的,对其他文件不可见. 私有作用域不会污染全局作用域. 模块可加载多次, ...

  6. 初学seaJs模块化开发,利用grunt打包,减少http请求

    原文地址:初学seaJs模块化开发,利用grunt打包,减少http请求 未压缩合并的演示地址:demo2 学习seaJs的模块化开发,适合对seajs基础有所了解的同学看,目录结构 js — —di ...

  7. JS模块化开发:使用SeaJs高效构建页面

    一.扯淡部分 很久很久以前,也就是刚开始接触前端的那会儿,脑袋里压根没有什么架构.重构.性能这些概念,天真地以为前端===好看的页面,甚至把js都划分到除了用来写一些美美的特效别无它用的阴暗角落里,就 ...

  8. iOS关于模块化开发解决方案(纯干货)

    关于iOS模块化开发解决方案网上也有一些介绍,但真正落实在在具体的实例却很少看到,计划编写系统文章来介绍关于我对模块化解决方案的理解,里面会有包含到一些关于解耦.路由.封装.私有Pod管理等内容:并编 ...

  9. Angular 结合RequireJs实现模块化开发

    angular的指令是模块化很好的一个体现,下面我将只使用指令(不用控制器),结合requirejs,实现模块化开发. 模块化关系图:

  10. .NET/ASP.NET MVC(模块化开发AraeRegistration)

    阅读目录: 1.开篇介绍 2.AreaRegistration注册路由(传递路由上下文进行模块化注册) 1]开篇介绍 ASP.NET Routing 路由功能非常强大,设计的也很巧妙:如果说ASP.N ...

随机推荐

  1. C++ 开发者必读经典书籍推荐

    如果你正在学习C++,那么一本好的教材或参考书可以事半功倍.以下是几本我个人推荐的C++书籍或视频 C++基础 看书 C++ Primer C++程序设计语言 Effective C++ More E ...

  2. Qt 排序 QSort

    一.对整形排序 // qSort 对整形排序 QList<int> list; list << 1 << 3 << 19 << 0 < ...

  3. ODBC批量merge中出现主键冲突的分析

    ODBC 批量 merge 中出现主键冲突的分析 一. 文档概括 客户某个 merge 语句运行时,发生主键冲突报错. 经分析,其原因如下: 由于 merge 语句中,ON 里的判断条件(谓词)中存在 ...

  4. HDC2021技术分论坛:盘点分布式软总线数据传输技术中的黑科技

    作者:houweibo,软总线首席技术专家:lidonghua,软总线技术专家 随着万物互联时代的到来,特别是大量媒体资源的涌入和使用,用户对传输的要求不断提高,怎样的传输技术才能满足未来的用户需求呢 ...

  5. spring boot yaml 配置[三]

    前言 我们知道java 因为历史的原因,一直有一个配置地狱的痛点.那么如何解决掉它呢? spring boot 是一柄利器,但是呢,还是要配置. 看来配置的避免不了的了. 那么如何可以减轻这种痛苦呢? ...

  6. mmcls 多标签模型部署在torch serve

    GitHub仓库:gy-7/mmcls_multi_label_torchserve (github.com) 各个文件说明: cls_requests_demo:分类模型请求api服务的demo d ...

  7. python 远程windows系统执行cmd命令

    如果你的服务器是windows系统,不想一台一台mstsc远程到桌面上去操作,python是有模块可以远程处理的:winrm pip install pywinrm 安装模块即可 windows系统服 ...

  8. 使用Quorum Journal Manager(QJM)的HDFS NameNode高可用配置

    前面的一篇文章写到了hadoop hdfs 3.2集群的部署,其中是部署的单个namenode的hdfs集群,一旦其中namenode出现故障会导致整个hdfs存储不可用,如果是要求比较高的集群,有必 ...

  9. 力扣344(java & python)-反转字符串(简单)

    题目: 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题. 示例 1 ...

  10. OPLG:新一代云原生可观测最佳实践

    ​简介:OPLG 体系拥有成熟且富有活力的开源社区生态,同时也经过了大量企业生产环境的实践检验,是当下建设新一代云原生统一可观测平台的热门选择.但是,OPLG 只是提供了一个技术体系,如何灵活运用,解 ...