1

可能重复:
Codeigniter 扩展扩展的 MY_Controller

我一直在摆弄这个问题一段时间,现在正处于沮丧之中。我正在使用 MY_Controller 扩展控制器类。

以下是详细信息:

  • __construct()似乎没有被调用。
  • 该文件应位于 application/core 中
  • 该文件名为 MY_Controller.php
  • 我已MY_设置为扩展的前缀(我有其他可以正常工作的扩展)

这是我的代码:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Controller extends CI_Controller {

    function __construct()
    {
        parent::__construct();
        echo 'TESTING!!!'; // This should print, followed by an ob_start() error
    }

}

我应该得到一个页面,上面写着TESTING!!!ob_start() 错误,但页面正常呈现。

我曾尝试拆分构造函数类并仅在 MY_Controller 中调用私有函数,但这不起作用。我知道正在调用该文件,因为如果我故意在 MY_Controller.php 中创建一个 php 错误,该页面将出错。在我看来,__construct()只是没有运行。

4

1 回答 1

5

你能在应用程序/控制器下展示一个你的控制器的例子吗?请注意,应用程序/控制器下的控制器应该扩展 MY_Controller 而不是 CI_Controller - 我认为这是你错过的。

例如,在您的控制器 application/controller/test.php 下。它应该是这样的:

class Test extends MY_Controller {        
    public function index()
    {
         echo 'test';
    }
}
于 2013-01-04T20:23:30.047 回答