CodeIgniterでのユーザー認証2(MY_Controller)

当たり前だけど、どのコントローラもユーザー認証しなきゃいけない。なので、Controllerクラスをカスタマイズして、MY_Controllerクラスを作る。(system/application/libraries/MY_Controller.php)


class MY_Controller extends Controller{

function MY_Controller(){
parent::Controller();

$this->load->library(‘DX_Auth’);
$this->load->helper(‘url’);

if (! $this->dx_auth->is_logged_in() ){
$this->dx_auth->deny_access(‘login’);
}
}

} // end of class
?>

ここで、コンストラクタを__Construct()にせず、PHP4ライクにクラス名を書いているのは、以下で説明する。これを呼び出すコントローラは以下のとおり。

<?php

class Start extends MY_Controller {

function __Construct(){
parent::MY_Controller();
}

function index(){
$this->load->view(‘welcome_message’);
}
} // end of class
?>

MY_Controllerを継承して、MY_Controllerを起動する。これが__Contruct()では動かないのよ。あんまり便利じゃないけど、忘れたり書き間違えたりしないようにクラスは継承しよう。

コメント