xabbuh/di-configuration-bundle

轻松覆盖 Symfony 服务定义配置

v0.1.0 2015-05-03 09:40 UTC

This package is auto-updated.

Last update: 2024-08-28 22:32:21 UTC


README

此捆绑包使得轻松自定义第三方捆绑包中定义的现有服务定义成为可能。

注意:许多捆绑包提供自己的配置选项来自定义其服务配置方式。在使用此捆绑包之前,请首先查阅它们的文档以获取可用的配置选项。

安装

使用 Composer 安装捆绑包

$ composer require xabbuh/di-configuration-bundle

然后,在您的应用程序中启用它

// app/AppKernel.php
// ...

public function registerBundles()
{
    $bundles = array(
        // ...
        new Xabbuh\DiConfigurationBundle\XabbuhDiConfigurationBundle(),
    );

    // ...

    return $bundles;
}

配置

注意:您只能更改现有服务的配置。此捆绑包不用于配置新服务。如果您想添加自己的服务,请使用 内置的 Symfony 配置机制

自定义服务定义

更改服务的类名

xabbuh_di_configuration:
    logger:
        class: app.logger

如果您不想配置特定服务的其他选项,可以省略 class

xabbuh_di_configuration:
    monolog.logger: app.logger

您可以使用 arguments 键替换现有参数。对另一个服务的引用需要是服务 ID,前面加上 @ 字符

xabbuh_di_configuration:
    locale_listener:
        arguments:
            - de
            - @app.router

如果您不希望替换所有参数,但想跳过其中一些,可以使用 index 键。以下示例仅替换 locale_listener 服务的第一个和第三个参数,但第二个参数保持不变

xabbuh_di_configuration:
    locale_listener:
        arguments:
            - de
            - index: 2
              value: @app.request_stack