扩展CodeIgniter控制器时出错


Error in extending CodeIgniter Controller

我正在尝试扩展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后,它开始工作良好。