Dam*_*mon 2 php linux codeigniter
我遇到了一个区分大小写的问题,我无法绕过它.
这就是我的文件结构.我只是进入了我正在使用的目录,但实际上我正在使用CI3的完整安装.
/application
....
/controllers/
application_controller.php
/core/
MY_Controller.php
Public_controller.php
....
/models/
Application_model.php
....
Run Code Online (Sandbox Code Playgroud)
以下是类定义语法的样子:
/application/core/My_Controller.php
class MY_Controller extends CI_Controller
{
function __construct()
{
parent::__construct();
}
}
Run Code Online (Sandbox Code Playgroud)
/application/core/Public_Controller.php
class Public_Controller extends MY_Controller
{
function __construct()
{
parent::__construct();
}
// Application logic here...
}
Run Code Online (Sandbox Code Playgroud)
/application/controllers/application_controller.php
class Application_controller extends Public_Controller
{
public function __construct()
{
parent::__construct();
}
// Application logic here...
}
Run Code Online (Sandbox Code Playgroud)
阅读文档,我看到我应该将我的类命名为:
Foo_Controller.php
Run Code Online (Sandbox Code Playgroud)
然后我总是(认为)类定义应该与文件名匹配.所以:
class Foo_Controller extends Bar_Controller {
....
}
Run Code Online (Sandbox Code Playgroud)
然后我得到500错误,或者我没有错误,并且有一个白页.当我在本地工作(mac)时,一切都很完美.截至目前(使用上面的语法)我至少得到了默认的codeigniter 404页面.使用时
error_log(__FILE__);
Run Code Online (Sandbox Code Playgroud)
在每节课的顶部,我所要做的就是 My_Controller.php
谢谢你的任何建议!
Codeigniter 更改日志说
更改了filenaming约定(类文件名现在必须是Ucfirst,其他所有内容都是小写的).
所以你的控制器和文件名应该是
我本人不喜欢新的命名惯例CI-2在这种情况下更好.
注意:
控制器名称Public_Controller(C大写)和文件名Public_controller.php可能有效,但我更喜欢保持两个名称相同,因此控制器名称应该是Public_controller.