Proyectos de Subversion LeadersLinked - Services

Rev

Rev 302 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

<?php
declare(strict_types = 1);
namespace LeadersLinked\Factory\Controller;

use Laminas\ServiceManager\Factory\FactoryInterface;
use LeadersLinked\Controller\HabitValueController;
use Psr\Container\ContainerInterface;
use LeadersLinked\Cache\CacheImpl;

class HabitValueControllerFactory implements FactoryInterface
{

    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
    {
        $db = $container->get('leaders-linked-db');
        $cache = $container->get('leaders-linked-cache');
        $log = $container->get('leaders-linked-log');

        $translator = $container->get('ServiceManager')->get('MvcTranslator');
        $config = $container->get('ServiceManager')->get('config');

        $config = array_filter($config, function ($k) {
            return strpos($k, 'leaderslinked.') !== false;
        }, ARRAY_FILTER_USE_KEY);

        return new HabitValueController($db, $cache, $log, $config, $translator);
    }
}