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」に定義すれば呼び出されるみたい。
関連記事
-
CodeIgniter4でCronを実行する方法
CodeIgniter4.4.4で特定の処理をCronで自動実行させたい。以下に ...
-
Codeigniter3で異なるデータベースを使用する
Codeigniterで2つのコンテンツがあって、それぞれ別のデータベースを使用 ...
-
CodeIgniter4 & reCAPTCHA でお問い合わせフォームを作成する方法
以前CodeIgniter4.4.4で簡易的なお問い合わせページを作成したが、今 ...
-
CodeIgniter4で簡易版ログインシステムの実装方法(管理画面向け)
CodeIgniter4で管理画面向けの簡易版ログインシステムを作成したい。通常 ...
-
CodeIgniter3でファイルキャッシュする方法
CodeIgniterでファイルキャッシュが楽に導入できた。そこそこ使いそうなの ...