Абстрактная фабрика для создания \DoctrineModule\Stdlib\Hydrator\DoctrineObject
Быстрый старт
- Проверить, что в модуле, где располагается унаследованный от \DoctrineModule\Stdlib\Hydrator\DoctrineObject гидратор:
- Добавлен ModuleOptions (при стандартных настройках src\Options\ModuleOptions);
- Убедиться, что ModuleOptions имплементирует \Nnx\ModuleOptions\ModuleOptionsInterface и \Nnx\Doctrine\ObjectManager\ObjectManagerNameProviderInterface.
- Убедиться, что в настройках модуля задано значение objectManagerName, т.е. имя ObjectManager'a, используемого в данном модуле.
При соблюдении данных условий гидратор будет создан автоматически с помощью абстрактной фабрики \Nnx\Doctrine\Hydrator\DoctrineObjectHydratorAbstractFactory
Пример:
namespace Nnx\Doctrine\PhpUnit\TestData\DoctrineObjectHydrator\TestModule1\Hydrator;
use DoctrineModule\Stdlib\Hydrator\DoctrineObject;
/**
* Class TestHydratorChild
*
* @package Nnx\Doctrine\PhpUnit\TestData\DoctrineObjectHydrator\TestModule1\Hydrator
*/
class TestHydratorChild extends DoctrineObject
{
}
use \Nnx\Doctrine\PhpUnit\TestData\DoctrineObjectHydrator\TestModule1\Hydrator\TestHydratorChild;
/** @var ServiceLocatorInterface $hydratorManager */
$hydratorManager = $appServiceLocator()->get('HydratorManager');
/** @var \DoctrineModule\Stdlib\Hydrator\DoctrineObject $hydratorManager */
$hydrator = $hydratorManager->get(TestHydratorChild::class);