标签:
在 github 上的地址:https://github.com/CodeIgniter/HMVC
关于 HMVC 的理解:总结为粗浅的话,把 MVC 扩展为多个等级,每个等级有独立的 MVC。而从属于 module 下的 MVC,可被做为另外的 MVC 调用:
<?php $this->load->module(‘test2/home_made‘); ?>
上述可做为页面片段,被处处调用,相当于 PHP 里的 require 。
如果出现 module 找不到的情况,问题可能出在目录读取权限上。在文件 application/core/MY_Loader.php 大约 127 行:
if (file_exists(APPPATH.‘modules/‘.$segments[0].‘/controllers/‘.$segments[1].EXT)) { $path = ‘‘; $module = $segments[0]; $controller = $segments[1]; $method = isset($segments[2]) ? $segments[2] : ‘index‘; }
file_exists 明明该返回 true 的,结果返回了 false。
我是直接设置为 755 搞定的。
这个扩展是好几年前的了,我将其安装到最新的 3.0.0 版本,发现有错误显示,应该是不支持的。换成 2.2.0 就可以了。但是,database 如果没有显式地自动载入,modules 里的 model 会出现错误:$this->db 中的 $db 变量找不到。
$autoload[‘libraries‘] = array(‘database‘);
《[2.1.3]为 CodeIgniter 增加 HMVC 支持【更新日期:2013.4.18】》
标签:
原文地址:http://my.oschina.net/viviworld/blog/491204