Completed
Push — master ( 317699...2816c1 )
by Vítor
02:40
created

RoutesControllerFactory::createService()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 1

Importance

Changes 5
Bugs 0 Features 5
Metric Value
c 5
b 0
f 5
dl 0
loc 11
ccs 5
cts 5
cp 1
rs 9.4285
cc 1
eloc 5
nc 1
nop 1
crap 1
1
<?php
2
/**
3
 * ZfDebugModule. Console commands and other utilities for debugging ZF2 apps.
4
 *
5
 * @license http://www.opensource.org/licenses/mit-license.html MIT License
6
 * @copyright 2016 Vítor Brandão <[email protected]>
7
 */
8
9
namespace Noiselabs\ZfDebugModule\Factory\Controller\Http;
10
11
use Noiselabs\ZfDebugModule\Controller\Http\RoutesController;
12
use Noiselabs\ZfDebugModule\Factory\Util\Routing\RouteCollectionFactory;
13
use Noiselabs\ZfDebugModule\Factory\Util\Routing\RouteMatcherFactory;
14
use Noiselabs\ZfDebugModule\Util\Routing\RouteCollection;
15
use Noiselabs\ZfDebugModule\Util\Routing\RouteMatcher;
16
use Zend\Mvc\Controller\ControllerManager;
17
use Zend\ServiceManager\FactoryInterface;
18
use Zend\ServiceManager\ServiceLocatorInterface;
19
20
/**
21
 * Http\RoutesControllerFactory creates instances of Http\RoutesController.
22
 */
23
class RoutesControllerFactory implements FactoryInterface
24
{
25
    const SERVICE_NAME = RoutesController::class;
26
27
    /**
28
     * {@inheritdoc}
29
     */
30 1
    public function createService(ServiceLocatorInterface $serviceLocator)
31
    {
32
        /* @var ControllerManager $serviceLocator */
33 1
        $mainServiceLocator = $serviceLocator->getServiceLocator();
34
        /** @var RouteCollection $routeCollection */
35 1
        $routeCollection = $mainServiceLocator->get(RouteCollectionFactory::SERVICE_NAME);
36
        /** @var RouteMatcher $routeMatcher */
37 1
        $routeMatcher = $mainServiceLocator->get(RouteMatcherFactory::SERVICE_NAME);
38
39 1
        return new RoutesController($routeCollection, $routeMatcher);
40
    }
41
}
42