【发布时间】:2019-11-23 21:57:02
【问题描述】:
我在我的配置中标记了一组实现相同接口的服务:
// services.yml
services:
_instanceof:
App\SomeInterface:
tags: [ !php/const App\SomeInterface::TAG ]
(其中App\SomeInterface::TAG 的值为very_unique_identifier)
我想像这样重用这个值来绑定这个参数:
// services.yaml
services:
_defaults:
autowire: true
autoconfigure: true
public: false
bind:
$fooStrategies: !tagged !php/const App\SomeInterface::TAG
但是当我这样做时,我得到一个空的RewindableGenerator。
相反,我可以这样做,使用常量的文字值:
bind:
$fooStrategies: !tagged 'very_unique_identifier'
...它按预期工作,RewindableGenerator 内部包含所有必要的服务。
如何在两个地方都使用 PHP 常量,这样我就不必在不同的地方重复值了?显然,这不是什么大不了的事,但如果可能的话,我想避免它。
【问题讨论】:
标签: php symfony symfony4 symfony-dependency-injection