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を実行して確認できます。