実行環境を識別させる

開発とか本番とかでDBの設定が違ったりってのは普通にあること。で、定数の設定ファイルが環境ごとに用意されたりて、必要なものをコピーするなりincludeするなりして利用する。というのがよくある運用かなーと思ってますが、これって設定ミスが結構出るんですよね。いちいち切り替える作業が問題なので自動的に切り替えられるようなアイデアを考えてみた。

switch(isset($_ENV["RUN_LEVEL"]) ? $_ENV["RUN_LEVEL"] : "0"){
	case "1":
		require_once '../config/database_stg.php';
		break;
	case "2":
		require_once '../config/database_dev.php';
		break;
	case "0":
	default:
		require_once '../config/database_pro.php';
}

環境変数RUN_LEVELを用意して、その値で設定を切り替える仕掛け。