ENVコンポーネント vlucas/phpdotenv
説明
vlucas/phpdotenv
は、異なる環境(例えば、開発環境、テスト環境など)の設定を区別するための環境変数ロードコンポーネントです。
プロジェクトアドレス
https://github.com/vlucas/phpdotenv
インストール
composer require vlucas/phpdotenv
使用方法
プロジェクトルートディレクトリに.env
ファイルを新規作成
.env
DB_HOST = 127.0.0.1
DB_PORT = 3306
DB_NAME = test
DB_USER = foo
DB_PASSWORD = 123456
設定ファイルを修正
config/database.php
return [
// デフォルトデータベース
'default' => 'mysql',
// 各種データベース設定
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => getenv('DB_HOST'),
'port' => getenv('DB_PORT'),
'database' => getenv('DB_NAME'),
'username' => getenv('DB_USER'),
'password' => getenv('DB_PASSWORD'),
'unix_socket' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
],
];
ヒント
.env
ファイルを.gitignore
リストに追加することをお勧めします。コードベースにコミットしないようにするためです。コードベースに.env.example
という設定サンプルファイルを追加し、プロジェクトをデプロイする際に.env.example
をコピーして.env
を作成し、現在の環境に応じて.env
内の設定を変更することで、プロジェクトが異なる環境で異なる設定を読み込むことが可能になります。注意
vlucas/phpdotenv
はPHP TSバージョン(スレッドセーフバージョン)でバグがある可能性がありますので、NTSバージョン(非スレッドセーフバージョン)を使用してください。現在のPHPのバージョンはphp -v
を実行して確認できます。