for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace DoctrineModule\Service\Authentication;
use DoctrineModule\Authentication\Storage\ObjectRepository;
use DoctrineModule\Options\Authentication;
use DoctrineModule\Service\AbstractFactory;
use Interop\Container\ContainerInterface;
use Laminas\ServiceManager\ServiceLocatorInterface;
use function assert;
use function is_string;
/**
* Factory to create authentication storage object.
*
* @link http://www.doctrine-project.org/
*/
class StorageFactory extends AbstractFactory
{
* {@inheritDoc}
public function __invoke(ContainerInterface $container, $requestedName, ?array $options = null)
$options = $this->getOptions($container, 'authentication');
assert($options instanceof Authentication);
$objectManager = $options->getObjectManager();
if (is_string($objectManager)) {
$options->setObjectManager($container->get($objectManager));
}
$storage = $options->getStorage();
if (is_string($storage)) {
$options->setStorage($container->get($storage));
return new ObjectRepository($options);
* @return ObjectRepository
public function createService(ServiceLocatorInterface $container)
return $this($container, ObjectRepository::class);
public function getOptionsClass() : string
return 'DoctrineModule\Options\Authentication';