autowp/autowp

View on GitHub
module/Application/src/Controller/Api/MostsControllerFactory.php

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
<?php

declare(strict_types=1);

namespace Application\Controller\Api;

use Application\Hydrator\Api\ItemHydrator;
use Application\Model\Picture;
use Application\PictureNameFormatter;
use Application\Service\Mosts;
use Autowp\Image\Storage;
use interop\container\containerinterface;
use Laminas\ServiceManager\Factory\FactoryInterface;

class MostsControllerFactory implements FactoryInterface
{
    /**
     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
     * @param string                $requestedName
     * @param ?array<string, mixed> $options
     */
    public function __invoke(containerinterface $container, $requestedName, ?array $options = null): MostsController
    {
        $hydrators = $container->get('HydratorManager');
        return new MostsController(
            $container->get(Mosts::class),
            $container->get(Picture::class),
            $hydrators->get(ItemHydrator::class),
            $container->get(PictureNameFormatter::class),
            $container->get(Storage::class)
        );
    }
}