我正在尝试扩展CodeIgniter控制器。我已经创建了MY_Controller.php
文件,文件内容如下:
<?php
class MY_Controller extends CI_Controller
{
function generate_key()
{
$n = rand(10e16, 10e20);
return base_convert($n, 10, 36);
}
现在我通过扩展MY_Controller
而不是CI_Controller
来创建控制器。下面是一个控制器的示例:
class Member extends MY_Controller
{
public function index()
{
$this->load->view('welcome');
}
我已经将MY_Controller.php
文件放在Application/libraries/
文件夹中。但是当我加载应用程序时,我得到错误:
Fatal error: Class 'MY_Controller' not found in path'to'application'controllers'member.php
谁能告诉我我做错了什么?谢谢。编辑:我使用CodeIgniter 2.0.2
我一直在关注这个问题:
`Fatal error: Class 'MY_Controller' not found ...`
发布到我的远程Linux服务器(DreamHost),但不在本地Windows上发布。问题是Linux是区分大小写的:我有MY_Controller.php的小写c,它不能自动加载。
只是以防其他人有同样的问题:)
您需要在application/core
中创建MY_Controller.php
。我尝试了你的设置,得到了同样的问题。将自定义控制器移到core
解决了这个问题。
希望有帮助!
我遇到了这样的问题,经过一些搜索,我发现自己犯了错误,因为我的控制器类名是MY_Controller,但文件名是MY_Controller[大小写不匹配]。注意:-在本地主机我没有任何错误。
在扩展控制器I使用
class Home extends MY_Controller{
function __construct() {
parent::__construct();
}
}
even I got the error.
将我的文件名改为MY_Controller后,它开始工作良好。