frostiede/silex-environment-serviceprovider

v1.0.0 2016-10-16 14:17 UTC

This package is auto-updated.

Last update: 2024-11-16 21:48:53 UTC


README

Build Status Code Climate

ServiceProvider for Silex which empowers use of environments like prod, dev etc. Environments can be changed using an environment variable.

Installation

$ composer require frostiede/silex-environment-serviceprovider

Afterwards, register the ServiceProvider:

$app->register(new EnvironmentServiceProvider());

Usage

You can now use $app['env'] to get the current environment. Also, you can use $app['cli'] to detect whether the current application is invoked by command line (in this case, it is set to true, false otherwise).

CLI

When invoking any command from CLI (e.g. using the Command extension), you should prepend the target environment:

$ APP_ENV=dev php bin/console your:command

Webserver

Create two separate PHP endpoint files (index.php and dev.php) and set your environment variable according to the file. For example, dev.php should contain putenv("APP_ENV=dev") to make all requests from dev.php run in dev-environment.

Note: Ensure dev.php is not accessible in production!

Configuration

You can set the environment variable which this extension evaluates. As default, APP_ENV is used but you change it to whatever you want using the constructor:

$app->register(new EnvironmentServiceProvider('ENV'));

Contribution

Any help is welcomed. Feel free to create issues and merge requests :-)

License

MIT License