CodeIgniter3で共通の変数と定数を設定する方法
2024/02/06
CodeIgniter3系で共通する配列が入った変数と、定数を設定したかった。以下にその方法のメモ。
変数
controllersディレクトリ直下のファイルのコンストラクタ内で以下を記述。
function __construct()
{
    parent::__construct();
    $data = array(
        'name' => array(
            0 => '田中', 
            1 => '山田', 
            2 => '鈴木', 
        ), 
        'url' => array(
            0 => 'http://hogehoge.com', 
            1 => 'http://foo.jp', 
            2 => 'http://hugahuga.co.jp',
        ),
    );
    $this->load->vars($data);
}
他のfunctionで$this->load->view('index',$data)とかで渡さなくても、viewディレクトリのファイルで$nameなり$urlなりで出力できる。被ったときが怖いので使用する場合は注意が必要そう。
尚、modelsの方でも利用したい場合は、
function __construct()
{
    parent::__construct();
    $data = array(
        'name' => array(
            0 => '田中', 
            1 => '山田', 
            2 => '鈴木', 
        ), 
        'url' => array(
            0 => 'http://hogehoge.com', 
            1 => 'http://foo.jp', 
            2 => 'http://hugahuga.co.jp',
        ),
    );
    $this->name = $data['name'];
    $this->url = $data['url'];
    $this->load->vars($data);
}
とし、models側では$this->nameもしくは$this->urlで呼び出せる。
定数
これがよく分からなかった。一応上記の変数みたく、コンストラクタ内でdefine('HENSUU','変数')と定義する事で使えるけど、これが正しいのかは分からない。
尚、コントローラー毎の定数ではなく、全コントローラー共通で定数を指定する場合は「/application/config/config.php」に定義すれば呼び出されるみたい。
関連記事
- 
					
													  
- 
					CodeIgniter3でファイルキャッシュする方法CodeIgniterでファイルキャッシュが楽に導入できた。そこそこ使いそうなの ... 
- 
					
													  
- 
					CodeIgniter4でのメール送信方法(テキスト・HTMLメール)CodeIgniter4.4.4でテキストメール及びHTMLメールを送信したい。 ... 
- 
					
													  
- 
					Codeigniter4で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法Codeigniter4.4.4でCSS及びJavaScriptファイルを設置し ... 
- 
					
													  
- 
					Codeigniter4でMySQLに接続しCRUD操作する方法Codeigniter4.4.4でMySQLに接続しCRUD操作したい。また、任 ... 
- 
					
													  
- 
					Codeigniter3で異なるデータベースを使用するCodeigniterで2つのコンテンツがあって、それぞれ別のデータベースを使用 ...