定数の記述場所
cakephpにおいてグローバルに活用できる定数はどこに記述すればよいか。
個人的には、以下のように
app\Config\const.php
というファイルを作成し、
[PHP]
define(‘DOMAIN’, ‘http://’.$_SERVER[“SERVER_NAME”]);
[/PHP]
defineで定義するようにしている。
上の方法の場合は、bootstrap.phpに、
config(‘const’);
の記述が必要。
これでコントローラやviewで利用できるDOMAINという定数が設定された。cakephpのシステムが大きくなってくると以下のように条件分岐して定数を設定するようになるかもしれない。
define('DOMAIN', 'http://'.$_SERVER["SERVER_NAME"]); define('USER_AGENT', getenv("HTTP_USER_AGENT")); if( strpos(DOMAIN, ".com") !== false ) { Configure::write('Config.language', 'en'); define('LANG', 'en'); } else { Configure::write('Config.language', 'jp'); define('LANG', 'ja'); }
const.phpも純粋なphpプログラムであることに変わりはない。