Я пытаюсь ввести переменную в установщик классов, но это не работает.Это моя конфигурация:
Company\CoreBundle\Services\InspectorManager\InspectorManager:
public: true
autowire: false
App\Helpers\GraphQl\Resolver\OrderResolver:
autowire: false
calls:
- [setInspector, ['@core.inspector_manager']]
И класс
class OrderResolver
{
protected $em;
/**
* @var InspectorManager $inspectorManager
*/
protected $inspectorManager;
public function __construct(EntityManager $em)
{
$this->em = $em;
}
/**
* @var InspectorManager $inspectorManager
* @required
*/
public function setInspector(InspectorManager $inspectorManager)
{
$this->inspectorManager = $inspectorManager;
}
}
setInspector никогда не вызывается.Класс InspectorManager происходит из другого пакета из другой версии Symfony (2.8) и объявляется так:
core.inspector_manager:
class: Company\CoreBundle\Services\InspectorManager\InspectorManager
arguments: ['@doctrine.orm.entity_manager']
calls:
- [setGeolocalisation, ['@core.geolocation_service']]
У вас есть идея, почему она не работает?Я провел слишком много времени в этом вопросе, и я не вижу способа решить его.Если я запускаю debug:autowiring
, я получаю в нем InspectorManager.
Я уже изменил настройку автоматического подключения InspectorManager и OrderResolver на true, но это ничего не меняет.