我遇到一个区分大小写的问题,无法解决问题。
这就是我的文件结构。我只输入要使用的目录,但实际上我使用的是完整安装的CI3。
/application .... /controllers/ application_controller.php /core/ MY_Controller.php Public_controller.php .... /models/ Application_model.php ....
这是类定义语法的样子:
/application/core/My_Controller.php
class MY_Controller extends CI_Controller { function __construct() { parent::__construct(); } }
/application/core/Public_Controller.php
class Public_Controller extends MY_Controller { function __construct() { parent::__construct(); } // Application logic here... }
/application/controllers/application_controller.php
class Application_controller extends Public_Controller { public function __construct() { parent::__construct(); } // Application logic here... }
阅读文档,我发现我应该为类命名:
Foo_Controller.php
然后,我总是(认为)类定义应该与文件名匹配。所以:
class Foo_Controller extends Bar_Controller { .... }
然后出现500错误,或者没有错误,然后出现白页。当我在本地(mac)工作时,一切正常。截至目前(使用上述语法),我至少正在获取默认的codeigniter 404页面。使用时
error_log(__FILE__);
在每个班级的顶部,我要做的就是 My_Controller.php
My_Controller.php
感谢您的任何建议!
Codeigniter 更改日志说
更改了文件命名约定(类文件名现在必须是 Ucfirst , 其他所有 文件都必须 小写 )。
所以你的控制器和文件名应该是
我自己不喜欢这种情况下新的命名约定CI-2更好。
注意:
控制器名称Public_Controller(C大写字母)和文件名Public_controller.php可能有效,但我希望两个名称保持相同,因此控制器名称应为Public_controller。
Public_Controller
Public_controller.php
Public_controller