euskadi31/config-service-provider

Silex 2.0 的配置服务提供者

v1.0.1 2017-01-31 12:30 UTC

This package is not auto-updated.

Last update: 2024-09-11 16:14:34 UTC


README

Build Status SensioLabsInsight

此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'
));

现在您可以为proddev环境指定。

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许可