2016-10-05 6 views
2

ローカルのdev envで設定を少し変更する必要があります。 したがって、環境を区別する際の「ベストプラクティス」は何かを知りたいと思います。 私は実行される環境に応じて異なる動作をする設定ファイルを1つだけ持っていたいと思います。ベストプラクティス - 環境を区別する(PHP)

答えて

2

異なる環境で異なる.envファイルを使用するのが一般的で、良い方法です。

基本的には、.envファイルは、カスタム設定をあなたのアプリケーションが .htaccessファイルまたはApache/nginxのバーチャルホストを変更することなく、必要 変数をロードするための簡単な方法です。つまり、 はプロジェクト外のファイルを編集する必要はなく、すべての環境変数 は、あなたのプロジェクトの実行方法にかかわらず常に設定されます - Apache、 Nginx、CLI、さらにはPHP 5.4の組み込みWebサーバー。 は、環境変数を設定するための他のすべての方法よりも簡単ですし、 あなたはそれを好きになるでしょう。

すでに作成されたパッケージを使用して、これをプロジェクトに追加することができます。 https://github.com/vlucas/phpdotenv

例(単なるデモではなく、生産準備のためのコード!)::

(注)この1をチェックしてください!環境間で同期されないようにするには、.env.gitignoreに追加する必要があります。

開発.envファイル:

DB_HOST=localhost 
DB_USER=root 
DB_PASSWORD= 

生産.envファイル:

DB_HOST=192.168.10.1 
DB_USER=dbUser 
DB_PASSWORD=123456 

可能config.phpファイル:

<?php 

// add composer autoload somewhere here... 

$dotenv = new Dotenv\Dotenv(__DIR__); 
$dotenv->load(); 

return [ 
    'db' => [ 
     'host' => getenv('DB_HOST'), 
     'user' => getenv('DB_USER'), 
     'pass' => getenv('DB_PASSWORD'), 
    ] 
] 
関連する問題