Componette

Componette

download-cloud-line composer require wodcz/nette-dotenv

nette-dotenv

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

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.

Install

Via Composer

$ composer require wodcz/nette-dotenv

Then register extension in your config.neon

extensions:
	env: wodCZ\NetteDotenv\DotEnvExtension

Usage

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.

Configuration

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

Change log

Please see CHANGELOG for more information on what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email admin@ikw.cz instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Componette Componette felix@nette.org