MicroPHP HMVC结构如下:
application
|- modules
|- module1
|- controllers
|- controllers.php
|- models
|- models.php
|- views
|- index.php
|- footer.php
|- ...
|- module2
|- controllers
|- controllers.php
|- models
|- models.php
|- views
|- index.php
|- footer.php
|- ...
|- ....
|- controllers
|- ...
|- models
|- ...
|- views
|- ...
MicroPHP的HMVC支持,HMVC对应配置项如下: /**
* 存放HMVC模块的文件夹路径名称
*/
$system['hmvc_folder'] = $system['application_folder'] . '/modules';
/**
* 注册HMVC模块,这里填写模块名称关联数组,键是url中的模块别名,值是模块文件夹名称
*/
$system['hmvc_modules'] = array('demo' => 'hmvc_demo');
MicroPHP HMVC模块结构说明: 每个模块文件夹里面必须有个名称为hmvc.php的模块配置文件。
模块文件夹结构可以参考示例模块:hmvc_demo,位于:application/modules/hmvc_demo
配置说明:
1.模块配置文件和入口文件里面的主配置一样。
2.如果HMVC模块有自己的配置,模块就可以覆盖主配置。
3.模块配置里面已经配置了一些必要的配置项目。
4.如果HMVC模块需要其它不同于主配置的配置,那么取消配置前面的注释,然后配置即可。
提醒:
1.$system['my_loader'],$system['hmvc_folder'],$system['hmvc_modules']这三个配置项在HMVC配置中无效。
2.HMVC模块共享主配置的:模型,视图,helper和类库。当有重名时,优先使用HMVC模块的。
如何访问hvmc模块? 访问hvmc模块很简单,只要在url控制器前面加上“模块名称/”即可,其它规则和以前框架规则一样。
比如:
1.http://127.0.0.1/?demo/,访问的就是hmvc_demo模块默认的控制器和方法。
2.http://127.0.0.1/?demo/home.index,访问的就是hmvc_demo模块home控制器doIndex()方法。
3.http://127.0.0.1/?demo/&a=b,访问的就是hmvc_demo模块默认的控制器和方法,同时GET方式传递了一个a变量。
4.http://127.0.0.1/?demo/home.index&a=b,访问的就是hmvc_demo模块home控制器doIndex()方法,同时GET方式传递了一个a变量。
插件模式下的hmvc:
a.MpLoader::instance($renew = null, $hmvc_module_floder = null)
b.MpController::instance($classname_path = null, $hmvc_module_floder = NULL)
c.MpModel::instance($classname_path = null, $hmvc_module_floder = NULL)
比如:
1.$hmvc_demo_loader=MpLoader::instance(true,'hmvc_demo');实例化模块hmvc_demo的一个loader实例
2.$hmvc_demo_home=MpController::instance('home','hmvc_demo');实例化模块hmvc_demo的一个home控制器对象
3.$hmvc_demo_model=MpModel::instance('HmvcModel','hmvc_demo');实例化模块hmvc_demo的一个HmvcModel模型对象
Powered By 狂奔的蜗牛 | 历史版本 | 源代码 | 快速入门 | MicroPHP@开源中国
源代码许可证 Apache License v2.0
MicroPHP官方QQ交流群 : 42807575 , 有问题欢迎加群交流