euskadi31 / config-service-provider
Silex 2.0 的配置服务提供者
v1.0.1
2017-01-31 12:30 UTC
Requires
- silex/silex: ~2.0@dev
- symfony/yaml: ^2.7
Requires (Dev)
- leaphub/phpcs-symfony2-standard: ~2.0.1
- phpunit/phpunit: ^4.7
This package is not auto-updated.
Last update: 2024-09-11 16:14:34 UTC
README
此Silex 2.0的服务提供者使用Symfony的Yaml类为Silex应用程序和其他服务提供者提供配置服务。
安装
将euskadi31/config-service-provider
添加到您的composer.json
% php composer.phar require euskadi31/config-service-provider:~1.0
用法
配置
<?php $env = getenv('APP_ENV') ?: 'prod'; $app = new Silex\Application; $app->register(new \Euskadi31\Silex\Provider\ConfigServiceProvider( __DIR__ . '/config/' . $env . '.yml' ));
现在您可以为prod
和dev
环境指定。
config/prod.yml
debug: false
config/dev.yml
debug: true
要在它们之间切换,只需设置APP_ENV
环境变量。在Apache中是这样的
SetEnv APP_ENV dev
或者在Nginx和fcgi中
fastcgi_param APP_ENV dev
替换
此外,您可以将替换模式数组作为第二个参数传递。
<?php $app = new Silex\Application; $app->register(new \Euskadi31\Silex\Provider\ConfigServiceProvider( __DIR__ . '/config/services.yml', [ 'data_path' => __DIR__ . '/data' ] ));
现在您可以在配置文件中使用该模式。
/config/services.yml
xsl.path: %data_path%/xsl
您还可以通过使用带有%foo%
记法的键在配置文件内部指定替换。
%root_path%: ../.., xsl.path: %root_path%/xsl
注册顺序
请确保您将ConfigServiceProvider作为应用程序的最后一步注册。如果您不这样做,其他提供者的默认值将覆盖您的配置。
许可
ConfigServiceProvider遵循MIT许可。