An empty bottle

しがないメンヘラエンジニアの日記。

Const ってどこに書くの?@Cakephp3

お疲れ様です。

 

ホラーゲームの実況をBGMにしながらプログラミングをするまーくんです。

 

Fuelphpでは、index.phpに書いたdefineがConstantsとして読み込まれていました。

それがCakephpではどこに書かれているのか、また、どこに書けば良いのか。調べてみました。

 

流れとしては、

app.phpがbootstrap.phpを呼ぶ

bootstrap.phpで設定ファイルを呼ぶ

という形です。

 

今回 bootstrap.phpに、読み込む設定ファイルを追加します。

 

configフォルダに、任意のphpファイルを作ります。

ここでは適当にconfig/sample-const.phpをつくりますね。

内容は、配列をreturn するだけです。以下サンプル。

 

<?php

return [

  define('HOGEHOGE', 'FUGAFUGA'),
];

 

次に、このファイルを読み込ませるために、bootstrap.phpを修正しますね。

<?php

try {
  Configure::config('default', new PhpConfig());
  Configure::load('app', 'default', false);
    
  //load const setting
  Configure::load('sample-const', 'default'); //ここ追加します。ファイル名を引数にしてくださいね。
    
} catch (\Exception $e) {
  exit($e->getMessage() . "\n");
}

 
以上です。それだけです。

こうすると、どこでも

<?php

  echo HOGEHOGE;

と使用できます。



今回のようにユーザ定義ファイルして新たにファイルを作成したほうが良いですね。