Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A JSON-based config ServiceProvider for Silex.
PHP
tree: b57a45cf33

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src/Igorw/Silex
tests
LICENSE
README.md
composer.json
phpunit.xml.dist

README.md

ConfigServiceProvider

A JSON-based config ServiceProvider for Silex.

Usage

Pass the config file's path to the service provider's constructor. This is the recommended way of doing it, allowing you to define multiple environments.

$env = getenv('APP_ENV') ?: 'prod';
$app->register(new Igorw\Silex\ConfigServiceProvider(__DIR__."/../config/$env.json"));

Now you can specify a prod and a dev environment.

/config/prod.json

{
    "debug": false
}

/config/dev.json

{
    "debug": true
}

To switch between them, just set the APP_ENV environment variable. In apache that would be:

SetEnv APP_ENV dev

Or in nginx with fcgi:

fastcgi_param APP_ENV dev

Also, you can pass an array of replacement patterns as second argument.

$app->register(new Igorw\Silex\ConfigServiceProvider(__DIR__."/../config/services.json", array(
    'data_path' => __DIR__.'/data',
)));

Now you can use the pattern in your configuration file.

/config/services.json

{
    "xsl.path": "%data_path%/xsl"
}
Something went wrong with that request. Please try again.