Я использую HydratorPluginManager
(Zend\Stdlib\Hydrator\HydratorPluginManager) для управления моими гидраторами в одном месте и позволяю менеджеру позаботиться о проверке моих гидраторов (имеется в виду проверка того, правильно ли мои гидраторы реализуют HydratorInterface
).
У меня есть несколько гидраторов, которые я создал с использованием таких фабрик:
'service_manager' => array(
'factories' => array(
'My\Hydrators\SomeHydrator' => 'My\Hydrators\SomeHydratorFactory'
)
)
После регистрации заводов в моем конфигурационном файле эти гидраторы без проблем доступны в моем ServiceManager
с помощью $serviceManager->get($name)
. Теперь я хотел бы подключить свой ServiceManager
к моему HydratorManager
, чтобы, если я попрошу определенный гидратор, используя:
$hydratorPluginManager->get($name)
где $name
— псевдоним, используемый для регистрации. Итак, в этом примере это будет:
$hydratorPluginManager->get('My\Hydrators\SomeHydrator');
Моя идея заключалась в том, что если я подключу свой ServiceManager
вот так:
$hydratorPluginManager->setServiceLocator($serviceManager)
Он должен работать. Но это не так, и я очень смущен, почему это не работает...
Я что-то упустил здесь?