環境による設定の切り替え

はじめに

Webアプリケーションの開発・運用時には、多くの場合、複数の環境が用意されます。

本番環境、開発環境、検証環境、ローカル環境・・・

そして、それぞれの場合において、 DBの接続先、ログの保存方法、エラーログレベル、時にはドメインなどと言った情報を変更したくなるでしょう。

Enviでは、環境定義ファイルを、特定のディレクトリに(多くの場合は、プロジェクトディレクトリの外)に置くことで、環境を切り替えることが出来ます。

環境定義ファイルに定義された、値(devprodなど)の事は、環境キーと呼びます。

フロントコントローラーでの定義

環境ファイルへのパスは、フロントコントローラーに記載します。

具体的には、環境ファイルへのパスを定義した、ENVI_SERVER_STATUS_CONF定数を、Envi.phpをrequireする前に作成します。

デフォルトの状態では、Enviがインストールされたディレクトリ内のenv/ServerStatus.confを指しています。

以下に例を示します。


<?php
// 環境ファイルのパス(defaultでいい場合は省略可能)
define('ENVI_SERVER_STATUS_CONF'realpath('/etc/envi/conf/ServerStatus.conf'));

// デバッグのOnOf
$debug true;

// Envi3の読み込み
require('Envi.php');
注意:Envi.php をrequireすると、自動的に、ENVI_SERVER_STATUS_CONFは、デフォルトの、Enviがインストールされたディレクトリ内のenv/ServerStatus.confを指し、ENVI_SERVER_STATUS_CONFは再定義出来なくなります。