for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Arp\LaminasDoctrine\Factory\Service;
use Arp\LaminasDoctrine\Service\EntityManager\EntityManagerContainer;
use Arp\LaminasFactory\AbstractFactory;
use Interop\Container\ContainerInterface;
use Laminas\ServiceManager\Exception\InvalidArgumentException;
use Laminas\ServiceManager\Exception\ServiceNotFoundException;
/**
* @author Alex Patterson <[email protected]>
* @package Arp\LaminasDoctrine\Factory\Service
*/
final class EntityManagerContainerFactory extends AbstractFactory
{
* @param ContainerInterface $container
* @param string $requestedName
* @param array|null $options
*
* @return EntityManagerContainer
* @noinspection PhpMissingParamTypeInspection
* @throws InvalidArgumentException
* @throws ServiceNotFoundException
public function __invoke(ContainerInterface $container, $requestedName, array $options = null): EntityManagerContainer
$config = $this->getApplicationOptions($container, 'entity_manager_container') ?: [];
return new EntityManagerContainer($container, $config);
}