Ответ 1
В зависимости от того, какой служебный файл вы используете, вам необходимо ввести его в свою службу прямо так, как вы сказали.
XML:
<services>
<service id="sample.service" class="%sample.service.class%">
<argument type="service" id="mailer" />
</service>
</services>
YAML:
services:
sample.service:
class: %sample.service.class%
arguments: [@mailer]
Вы можете просто захватить службу в своем конструкторе, как это.
Или, если вы действительно этого хотите, вы можете ввести service_container
. Но это действительно грязно, поскольку вы можете просто вводить нужные вам услуги.
Инъекция service_container
необходима только в том случае, если вам нужен динамический вызов службы.