勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

CodeIgniter3で共通の変数と定数を設定する方法

   2024/02/06  PHP CodeIgniter

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」に定義すれば呼び出されるみたい。

 - PHP CodeIgniter

  関連記事

CodeIgniter4でのメール送信方法(テキスト・HTMLメール)

CodeIgniter4.4.4でテキストメール及びHTMLメールを送信したい。 ...

Codeigniter4で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法

Codeigniter4.4.4でCSS及びJavaScriptファイルを設置し ...

CodeIgniter4 & reCAPTCHA でお問い合わせフォームを作成する方法

以前CodeIgniter4.4.4で簡易的なお問い合わせページを作成したが、今 ...

Codeigniter4でMySQLに接続しCRUD操作する方法

Codeigniter4.4.4でMySQLに接続しCRUD操作したい。また、任 ...

CodeIgniter3でファイルキャッシュする方法

CodeIgniterでファイルキャッシュが楽に導入できた。そこそこ使いそうなの ...