CodeIgniter2 で MY_Controller.php を作って全コントローラーで共通処理を行う

コアの CI_Contoroller を MY_Controller で拡張して、他のコントローラーでは CI_Conttroller ではなく My_Controller を継承すれば共通の処理を行うことができます。ファイルの内容は以下です。

1
2
3
4
5
6
7
8
9
10
class MY_Controller extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->helper(Array('weble', 'url', 'form'));
        if(ENVIRONMENT == 'development')
            $this->output->enable_profiler(true);
    }
}

他のサイトを見ていたところ /application/libraries/MY_Controller.php として保存すれば良いとのことでしたが、ここに保存すると以下のようなエラーが出ます。要は MY_Controller.php が読み込まれていません。

Fatal error: Class ‘MY_Controller’ not found

正しい保存場所は /application/core/MY_Controller.php でした。そして他のコントローラーからは以下のように継承します。

1
2
3
4
5
6
7
class Pages extends MY_Controller
{
	public function index()
	{
            echo 'test';
	}
}

コメント

コメントは受け付けていません。