PHP DotEnv for Yii2 framework.
Then tell Composer to load the extension:
composer require yiithings/yii2-dotenv
The extension default load environment variables from .env
file in your application root directory. You can change
the file path and name configure in your application entry file:
define('DOTENV_PATH', '/path/to/.env');
define('DOTENV_FILE', '.env');
define('DOTENV_OVERLOAD', false);
Once the extension is installed, simply use it in your code by :
[
'db' => [
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASS'),
],
]
The env function will autoload .env file, it uses the following search mechanism:
If there is a Yii class, then pass the alias @vendor or @app or @yii, Otherwise
according to the project directory to determine.
But, if your application vendor directory is a symbol link and you no registered @vendor or @app alias before call env function, the project will not working. So you should set the @vendor alias before calling env function.