Think.class.php里的autoload函数的一处bug

浏览:984 发布日期:2014/02/20
5.0.0 - 普通 - 未处理
第167行 }else{要改成} elseif (!C('APP_USE_NAMESPACE')) {不然会产生 重复定义类的错误

举个例子吧
在视图模型ViewModel.class.php
第46行$Model  =  class_exists($class)?new $class():M($key);class_exits第二个参数没设置成false时会触发autoload
默认配置'APP_AUTOLOAD_layer' => 'Controller,Model',
所以会在当前模块下的这两个文件夹中查找文件并引入
而上面的那个$class是个模型文件 我之前已经通过D方法使用过一次 以命名空间的方式引入过了 这里再次引入 会报重复定义类的错误


PS:其实我觉得增加APP_USE_NAMESPACE这个配置项真心没必要 不想使用命名空间 用3.1去 这个又不难学 看下就会了
照顾这又照顾那的 就影响了框架的性能
评论(
后面还有条评论,点击查看>>