1

重複の可能性:
MY_Controller を拡張する Codeigniter

私はしばらくの間この問題をいじっていて、欲求不満の状態にあります。コントローラー クラスを 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
    }

}

ob_start() エラーが続くというページが返されるはずですTESTING!!!が、代わりにページは正常にレンダリングされます。

コンストラクター クラスを分割し、MY_Controller 内でプライベート関数を呼び出してみましたが、うまくいきません。MY_Controller.php 内で意図的に php エラーを作成すると、ページでエラーが発生するため、ファイルが呼び出されていることがわかります。が実行されていないように思え__construct()ます。

4

1 に答える 1

5

アプリケーション/コントローラーの下にあるコントローラーの例を示してもらえますか? アプリケーション/コントローラーの下のコントローラーは、CI_ControllerではなくMY_Controllerを拡張する必要があることに注意してください-これはあなたが見逃したと思います。

たとえば、コントローラー application/controller/test.php の下。次のようになります。

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