用户
 找回密码
 入住 CI 中国社区
搜索
楼主: Hex
收起左侧

[核心代码 Core] [3.0.6]为 CI 增加 HMVC 支持【更新日期:2016.4.25】

    [复制链接]
发表于 2011-4-20 14:48:30 | 显示全部楼层
来研究一下hmvc~谢谢~
发表于 2011-4-26 16:21:07 | 显示全部楼层
发现一个问题

如果在外部控制器加载过某个library,模块中再加载是加载不上的,_ci_load_class 检测 library 已经加载过就直接返回了,请问怎么解决?
发表于 2011-4-26 17:19:14 | 显示全部楼层
不错,顶一个。这个值得好好搞一下
发表于 2011-6-12 21:54:34 | 显示全部楼层
HEX,能否解决一下这个问题:
我使用了HMVC框架,在自己的模块下有public/js/cn/目录,里面有js文件,模块下的视图文件引入了js文件,但是却无法正常访问。下面是直接在浏览器访问该js文件时,系统提示。附件是我的模块目录结构。

<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /mixT/application/modules/test/public/js/cn/test.js
on this server.</p>
</body></html>
p.jpg
发表于 2011-6-14 16:47:43 | 显示全部楼层
求解答 ,
我看前面回复说
模块没有 URL,不能从外部访问到,能从 URL 访问的就是控制器了。
换句话说,模块只能在视图里使用,当作“控件”来用。

是不是我不能这样访问
http://localhost/ci_framework/index.php/模块名/控制器类/方法名  也就是不能例子中
http://localhost/ci_framework/index.php/test2/Home_Made/index   这样访问对吗  
不能直接路由到   需要先访问../application/controllers 方法 进行处理在  到模块下
我在ci 2.0.0 下,直接下载那个压缩包 替换application下的  想这样访问http://localhost/ci_framework/index.php/模块名/控制器类/方法名
可惜没试成功

PHP复制代码
DEBUG - 2011-06-14 16:45:04 --> Config Class Initialized
DEBUG - 2011-06-14 16:45:04 --> Hooks Class Initialized
DEBUG - 2011-06-14 16:45:04 --> Utf8 Class Initialized
DEBUG - 2011-06-14 16:45:04 --> UTF-8 Support Enabled
DEBUG - 2011-06-14 16:45:04 --> URI Class Initialized
DEBUG - 2011-06-14 16:45:04 --> Router Class Initialized
ERROR - 2011-06-14 16:45:04 --> 404 Page Not Found --> test2
复制代码

到这里就不行了报错
发表于 2011-7-20 16:25:45 | 显示全部楼层
Hex 发表于 2008-12-3 10:28
大家多提意见,哪里写的不好,直接提出来,共同学习,共同进步!

这个无法支持三层目录是吗?
 楼主| 发表于 2011-7-20 22:58:19 | 显示全部楼层
aqw23 发表于 2011-6-12 21:54
HEX,能否解决一下这个问题:
我使用了HMVC框架,在自己的模块下有public/js/cn/目录,里面有js文件,模块下 ...

application 目录下不要放非 .php 文件。
所以你的 .js 应该放到 index.php 所在目录。
 楼主| 发表于 2011-7-20 22:59:43 | 显示全部楼层
sanzhongzhifu 发表于 2011-6-14 16:47
求解答 ,
我看前面回复说
模块没有 URL,不能从外部访问到,能从 URL 访问的就是控制器了。

你说的很对,模块暂时还不能通过 URL 来访问,这个功能是我希望在下一版增加的。
 楼主| 发表于 2011-7-20 23:00:51 | 显示全部楼层
mvc999 发表于 2011-7-20 16:25
这个无法支持三层目录是吗?

你说的是什么不支持三层目录?模块里的控制器没必要支持那么深的目录吧。
如果是普通控制器的目录,那跟这个 HMVC 无关,所以只支持一层目录。
发表于 2011-7-21 11:39:26 | 显示全部楼层
本帖最后由 yuhuaan 于 2011-7-21 11:42 编辑

怎么在controllers一运行
class Demo extends CI_Controller {
        public function index() {
                //直接在控制里使用Model
                $this->load->module('test1/test');
        }
}
就出现下面的错误呢。
Fatal error: Class 'Test1_Test_module' not found in G:\PHPWEB\CodeIgniter\CodeIgniter2.0.2\application\core\MY_Loader.php on line 124

我的CI版是2.0.2
20110721114225.jpg

本版积分规则