dotenv integration into Nette framework
This little extension helps you to work with environment variables in config.neon.
To make it even more convenient, this extension also variables from
.env file - a feature well known to Laravel users.
$ composer require wodcz/nette-dotenv
Then register extension in your
extensions: env: wodCZ\NetteDotenv\DotEnvExtension
You can access any environment variable using
@env.get('key', 'default') syntax:
services: - App/MyConnection(@env::get('DB_HOST', '127.0.0.1'))
Environment variables are often set by a
docker-compose, or your CI server.
To make working with environment variables even easier, you can specify them in
in root directory of your application.
This file should be hidden from VCS using
.gitignore or so,
because each developer/server could require different environment configuration.
.env file with credentials in repository would be a security risk.
This is an example on how your
.env file might look like:
DB_HOST=192.168.0.10 DB_USER=myprojuser DB_NAME=myproj GOOGLE_API_KEY=my_own_key_used_for_development
Have a look at vlucas/phpdotenv documentation for more comprehensive examples.
You can change behavior of this extension using
neon configuration. Here is a list of available options with their
env: directory: "%appDir%/../" fileName: ".env" overload: false localOnly: false prefix: false class: "\wodCZ\NetteDotenv\EnvAccessor"
||Name of your
||Whether options in the
||Set to true to only return local environment variables (set by the operating system or putenv).|
||Whether to prefix the service name with the extension name|
||Class used to access environment variables|
Please see CHANGELOG for more information on what has changed recently.
$ composer test
If you discover any security related issues, please email firstname.lastname@example.org instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.