Я пытаюсь загрузить службу в другую службу, используя параметр конфигурации, чтобы указать имя поставщика.
<service id="test" class="MyClass">
<argument type="service" id="%my.vendor%"></argument>
</service>
<service id="vendor.mytest" class="MyServiceClass"></service>
На данный момент я подтвердил, что параметр %my.vendor%
является строкой "vendor.mytest"
, но это не рассматривается таким образом, он буквально читает строку %my.vendor%
как "id"
запрошенной оказание услуг.
Есть ли способ сделать это, правильно...
Благодарю!
Вы можете использовать язык выражений (доступный из Symfony 2.4 :):
<service id="test" class="MyClass">
<argument type="expression">service(parameter('my.vendor'))</argument>
</service>
надеюсь эта помощь