CodeIgniter


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

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の語尾には:(コロン)をつけなければならない。
<?php if(hoge) : ?>