CodeIgniter

「CodeIgniter」の編集履歴(バックアップ)一覧に戻る

CodeIgniter - (2012/11/15 (木) 18:33:02) のソース

*Controller以外でloadを使う
----
CodeIgniterではController以外では、loadを使用することができない。
#highlight(){
 class Api extends CI_Controller {
    function __construct() {
        parent::__construct();
        $this -> load -> model('hoge');
        $this -> load -> model('fuga');
    }
 }
}
理由は、Controllerで継承するCI_Controllerの中にloadが入っているから。
ライブラリを作るときは、loadをよく使用する。
その場合は、下のようにすればOK
#highlight(){ 
 class Hoge_library{	
	private static $_CI = NULL;

	function __construct()
	{
		if ( empty(self::$_CI) ) {
		       self::$_CI =& get_instance();
		}
	}
 }
}

*他のクラスを継承する
----
DodeIgniterでは同じディレクトリに存在するクラス(phpファイル)でも継承することはできない。
かわりに、同じphpファイル内に複数のクラスを書くことが可能。