Download the PHP package yannoff/composer-dotenv-handler without Composer
On this page you can find all versions of the php package yannoff/composer-dotenv-handler. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download yannoff/composer-dotenv-handler
More information about yannoff/composer-dotenv-handler
Files in yannoff/composer-dotenv-handler
Package composer-dotenv-handler
Short Description Composer script to generate .env file against .env.dist template
License MIT
Homepage https://github.com/yannoff/composer-dotenv-handler
Informations about the package composer-dotenv-handler
yannoff/composer-dotenv-handler
Composer script to handle .env
file maintenance, based upon the concept of the popular incenteev/composer-parameter-handler package.
Usage
First you must require the package:
Then, set up your composer.json
accordingly, as in the following example:
Advanced options
Options may be passed via the extra
section of the composer.json :
Available options
Name | Default value | Description |
---|---|---|
file | .env | The name of the auto-generated dotenv file |
dist-file | .env.dist | The name of the template file (the dist file) |
keep-outdated | true | Keep values in the env file that are not anymore in the dist file |
behavior | normal | If set to flex, enable support for Symfony Flex applications (see next section for details) |
Symfony Flex Behavior
As of November 2018, the guys at Symfony decided to change radically how dotenv
files are handled in symfony applications.
A local temporary workaround could be to modify the composer.json
extra section as follow:
Anyway this is not an acceptable solution, indeed the dotenv file name may vary from one deploy environment to another (test, staging, prod...): the composer.json
can't be committed as is.
So here comes the behavior option:
When in flex behavior mode, the script will build the dotenv file name automatically, based upon either the APP_ENV
or ENV
(in this order of preference) environment variable (will use local as default value, if not set) at runtime.
For example, issuing the following command in a terminal:
would result in having the following config values:
dist-file
:.env
file
:.env.staging
Licence
Licensed under the MIT Licence.