xabbuh / di-configuration-bundle
轻松覆盖 Symfony 服务定义配置
v0.1.0
2015-05-03 09:40 UTC
Requires
- php: >=5.3
- symfony/config: ~2.3
- symfony/dependency-injection: ~2.3
- symfony/http-kernel: ~2.3
Requires (Dev)
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