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.
Via Composer
$ composer require wodcz/nette-dotenv
Then register extension in your config.neon
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
, docker-compose
, or your CI server.
To make working with environment variables even easier, you can specify them in .env
file
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.
Furthermore, having .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
default values.
env:
directory: "%appDir%/../"
fileName: ".env"
overload: false
localOnly: false
prefix: false
class: \wodCZ\NetteDotenv\EnvAccessor
Option | Description |
---|---|
directory |
Where your .env file is located |
fileName |
Name of your .env file |
overload |
Whether options in the .env file should override existing environment variables |
localOnly |
Set to true to only return local environment variables (set by the operating system or putenv). |
prefix |
Whether to prefix the service name with the extension name |
class |
Class used to access environment variables |
Please see CHANGELOG for more information on what has changed recently.
$ composer test
Please see CONTRIBUTING and CONDUCT for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.