基于Laravel5.5的模块化开发
来源:互联网 发布:汉诺塔算法c语言 编辑:程序博客网 时间:2024/06/07 09:50
laravel 安装后是单模块应用,但通常情况下,我们的项目往往会有很多模块,如果按单模块去做,文件目录会异常庞大,不利于维护,耦合性太大。
那么下面就详细说一下利用最新laravel5.5如何进行分模块开发。
下载安装Laravel5.5
- 环境要求 PHP >= 7.0.0
- 安装教程 https://laravel.com/docs/5.5
composer安装laravel5.5
composer create-project --prefer-dist laravel/laravel ./
建立 模块化 目录
- 新建modules模块目录
appartisanbootstrapcomposer.jsoncomposer.lockconfigdatabasemodulespackage.jsonphpunit.xmlpublicreadme.mdresourcesroutesserver.phpstoragetestsvendorwebpack.mix.js
- modules的目录结构为
- Base 公共基础模块
- Backend 后台模块
- Frontend 前台模块
modules/├── Backend│ ├── Controllers│ ├── helpers.php│ ├── Middlewares│ ├── Models│ ├── Providers│ │ ├── BaseServiceProvider.php│ │ └── RouteServiceProvider.php│ └── Requests│ └── helpers.php├── Base│ ├── Controllers│ ├── helpers.php│ ├── Middlewares│ ├── Models│ ├── Providers│ │ ├── BaseServiceProvider.php│ │ └── RouteServiceProvider.php│ └── Requests└── Frontend ├── Controllers ├── helpers.php ├── Middlewares ├── Models ├── Providers │ ├── BaseServiceProvider.php │ └── RouteServiceProvider.php └── Requests
使用composer自动加载模块命名空间
- 修改composer.json 文件
{ "name": "laravel/laravel", ... "autoload": { "classmap": [ "database/seeds", "database/factories" ], "psr-4": { "App\\": "app/", "Base\\": "modules/Base/", "Backend\\": "modules/Backend/", "Frontend\\": "modules/Frontend/" }, "files": [ "modules/Base/helpers.php" ] } ...}
- 自动加载命令,在应用根目录命令行执行
composer dumpauto
- 命名空间举例
- 基础模块命名空间为 namespace Base
- 基础模块-控制器命名空间 namespace Base\Controllers
- 基础模块-模型命名空间 namespace Base\Models
配置模块化服务
- 修改config/app.php
<?phpreturn [ //省略之前内容 'providers' => [ //... // 模块化的Provider Base\Providers\BaseServiceProvider::class, //公共基本服务Provider Backend\Providers\BaseServiceProvider::class, //后台服务Provider Frontend\Providers\BaseServiceProvider::class, //前台基本服务Provider ], //省略之后内容];
新建各模块路由文件
- base.php- backend.php- frontend.php
routes/├── api.php├── backend.php├── base.php├── channels.php├── console.php├── frontend.php└── web.php
源码托管于码云 http://git.oschina.net/techlee/laravel5.5-modules-demo
原文链接 https://www.tech1024.cn/original/2937.html
阅读全文
0 0
- 基于Laravel5.5的模块化开发
- 基于maven的javaweb项目模块化开发
- 基于 Composer 的 PHP 模块化开发
- laravel5.2 增加Caffienate Modules,实现模块化开发
- Laravel5 之 控制器模块化
- 基于。NET的模块化网络服务应用程序服务器开发 第一章
- 基于 Composer 的 PHP 模块化开发--作者:安正超
- Laravel5.5的MVC
- 模块化的javaScript开发
- 软件的模块化开发
- 基于webpack的模块化构建
- 基于webpack的模块化构建
- 基于quartz1.66+spring2.5的一个模块化设计
- laravel5.4 项目 模块化 利用caffeinated/modules
- KoaHub.JS基于Node.js开发的Lodash模块化实用程序代码
- 游戏的模块化开发理解
- 前端模块化开发的价值
- 前端模块化开发的价值
- centos安装lamp环境
- linux 更改系统时间
- IDEA常用快捷键(亲测)
- 网站缓存技术总结( ehcache、memcache、redis对比)
- HDU 6199 gems gems gems (2017沈阳网络赛)
- 基于Laravel5.5的模块化开发
- 王爽汇编语言 实验12
- jvm基础概念
- python代码:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20
- 16位汇编中的伪指令
- Android数据库——答题系统(AnswerSystem)
- 安装K/3 WISE中间层服务器与数据库服务器分开部署注意事项
- 菜鸟学设计模式----观察者模式
- 常见的java笔试面试题目大全