我正在使用Symfony 4投影机,并且已经阅读Symfony documentation about autowiring
我的问题不是真正的自动装配,而是导入的文件。
This Symfony documentation说,您可以在许多文件中导入服务。
在我的项目中,我在service.yaml
文件夹中有config
,可将所有服务导入services
文件夹中
imports:
- { resource: './services/admin.yaml'}
- { resource: './services/front.yaml'}
- { resource: './services/core.yaml' }
services:
_defaults:
autowire: true
autoconfigure: true
所以我需要重写服务自动装配,因为它在构造函数中有两个字符串,我需要手动连接这些参数
extranet.form.data_subscriber.remove_empty_reference_fields:
class: Extranet\Admin\Form\DataSubscriber\RemoveEmptyFieldsSubscriber
arguments:
$collectionName: references
$childName: name
Extranet\Admin\Form\DataSubscriber\RemoveEmptyFieldsSubscriber: '@extranet.form.data_subscriber.remove_empty_reference_fields'
Extranet\Admin\Form\DataSubscriber\RemoveEmptyFieldsSubscriberInterface: '@Extranet\Admin\Form\DataSubscriber\RemoveEmptyFieldsSubscriber'
但是现在,如果我将该服务直接放在文件末尾的services.yaml
中,它将起作用。
我的问题是,如何使用services.yaml
中未直接配置的服务覆盖自动装配
让我知道是否可以帮助我,谢谢
编辑
我已经尝试将imports
部分放在services.yaml
文件的末尾