Controller以外でloadを使う
CodeIgniterではController以外では、loadを使用することができない。
class Api extends CI_Controller {
function __construct() {
parent::__construct();
$this -> load -> model('hoge');
$this -> load -> model('fuga');
}
}
理由は、Controllerで継承するCI_Controllerの中にloadが入っているから。
ライブラリを作るときは、loadをよく使用する。
その場合は、下のようにすればOK
class Hoge_library{
private static $_CI = NULL;
function __construct()
{
if ( empty(self::$_CI) ) {
self::$_CI =& get_instance();
}
self::$_CI -> load -> model("hoge")
}
}
self::$_CIが$thisの代わりになる
他のクラスを継承する
CodeIgniterでは同じディレクトリに存在するクラス(phpファイル)でも継承することはできない。
かわりに、同じphpファイル内に複数のクラスを書くことが可能。
なので、classの上にrequire_onceをすればよい。
制御構文の使い方
if,forの語尾には:(コロン)をつけなければならない。
最終更新:2012年11月16日 16:20