laravel 实现 模块式开发
来源:互联网 发布:云计算的安全问题包括 编辑:程序博客网 时间:2024/05/18 13:45
项目需求:
对于中大型和后期考虑扩展和维护的项目,常用的MVC模式肯定不行,于是觉得采用HMVC模式开发有利于后期维护与扩展。
但LARAVEL默认的目录结构式 :
/app/
/controllers/
AppController.php
App2Controller.php
/models/
Article.php
/views/
layout.blade.php
--------------------------
现需要采用模块式开发,即每一个模块为一个子目录,子目录下有自己的MVC
/app/
/modules/
/article/
/controllers/
/models/
/views/
/video/
/controllers/
/models/
/views/
于是通过在鸟语FORUM里查了好久,发现现在活跃的方式是 采用一个叫 ModuleManage 的 package
GIT地址:
https://github.com/LevareCMS/modulemanager
---------------------------------------------
下载 采用 composer 方式
在 composer.json
"require": {"laravel/framework": "4.0.*","levare/modules": "dev-master"},
然后 执行 composer update (如果是第一次安装,则执行 composer install)
通过漫长的等待后,会多出一个package
/vendor/levare
该目录下的文件 可以修改的地方有一处:
/levare/modules/src/Levare/templates/module.json 此文件的用途是,在你创建的每个 模块下自动以该模版创建module.json
安装完成,打开package里面的README.md 最下面有install 的过程,这里不过多阐述。
module.json 的格式如下
{"name": "","author": "","license": "","description": "","autoload": ["routes.php"],"global": ["controllers","views","models","controllers/admin"]}
注意元素的引号要用双引号、小弟之前习惯用单引号,结果没有通过json_decode解析成数组。
autoload 里面添加的文件,会自动加载该文件
global 里面添加的为目录名,会自动加载这些目录名下面的文件
小弟在 autoload添加的 routes.php文件里,写的是 该模块的 路由
这样就可以不用在主routes.php里面写不知道的模块路由了!
--------------
内容有些凌乱,不过大体就是这样了,如果还有问题,就进 package包里 用dd函数 自己慢慢调试, 这个package的代码不是很复杂,功能其实就是自动加载文件 注册namespace。
- laravel 实现 模块式开发
- Laravel实现多模块
- nginx实现简单模块开发
- Pingpong/sky 扩展实现 Laravel 多模块化开发
- JSP+JAVABEAN两层模开发式(新闻中心模块的实现)
- Laravel的用户认证模块
- 如何实现一个微擎模块开发we7模块开发
- laravel开发环境设置
- PHP_PHP开发框架-Laravel
- laravel开发restfulAPI
- PHP、Laravel开发网站
- laravel开发环境准备
- Laravel Packages 开发
- laravel开发环境搭建
- Laravel 开发笔记
- Laravel 开发笔记
- Laravel 开发笔记
- Laravel 开发环境搭建
- timer启动停止 thread启动停止
- Oracle中用exp/imp命令快速导入导出数据
- Android拍照和取相册并裁切
- Macintosh HFSPlus Filesystem for Linux
- Button
- laravel 实现 模块式开发
- Documentation/resource-control.txt
- 2.21 Adding Buttons to the User Interface with UIButton
- 在 Visual Studio 2010 中创建 ASP.Net Web Service
- JAVA学习第二天笔记
- 韩顺平网页第二十四讲,二十五讲,二十六讲
- [原]在MAC里启动和停止的MySQL和PostgreSQL的的指令
- 做人那点儿事
- 解决pear使用时出现 PHP_PEAR_INSTALL_DIR is not set correctly.