私は自分のCakePHPアプリケーションでは多くの環境、CakePHPの異なる環境は?
を持っており、それぞれの環境にcore.phpのファイルを持っている、すなわち、
コアproduction.phpとコアdevelopment.phpたいです。それを管理する方法は?
私は自分のCakePHPアプリケーションでは多くの環境、CakePHPの異なる環境は?
を持っており、それぞれの環境にcore.phpのファイルを持っている、すなわち、
コアproduction.phpとコアdevelopment.phpたいです。それを管理する方法は?
私が正しく理解していれば、それぞれの場所ごとに異なる設定をロードしようとしています。これを管理する最善の方法は、サーバーの場所に基づいてcustom configurationsを設定することです。
これを行うには、サーバー名を確認するcustom.php構成を作成します。
$domain = strtolower(@$_SERVER['SERVER_NAME']);
switch (true) {
default:
case 'production.domain.com' == $domain:
Configure::write('MyDomain.environment', 'production');
break;
case 'staging.domain.com' == $domain:
Configure::write('MyDomain.environment', 'staging');
break;
case 'local.domain.com' == $domain:
case 'mybox.com' == $domain:
Configure::write('MyDomain.environment', 'local');
break;
}
さて、コアでは、ご使用の環境に基づいて設定を行うことができます。
switch (Configure::read('MyDomain.environment')) {
default: // for security; wouldn't want any confusion revealing sensitive information
case 'production':
Configure::write('debug', 0);
break;
case 'staging':
case 'local':
Configure::write('debug', 2);
break;
}
今、あなたはCakePHPのコアファイルを読み込む方法を変更することなく、Configure::write('MyDomain.environment', x)
を使用して任意の場所にすべてを設定することができます。
ハッピーコーディング!
それは今まで見たことのある文字列を切り替える最良の方法です。 –
プロダクションファイルと開発ファイルの違いは何ですか?私は同じcore.phpから管理しています。 – Wylie
@Wylie設定値の選択を自動化し、エラーの可能性を減らし、単調な労力を軽減します。 –