定数のグローバル設定 cakephp

定数の記述場所

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プログラムであることに変わりはない。

Webエンジニアブログにコメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

定数のグローバル設定 cakephpの記事にコメントを投稿