RoutingFacade   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Test Coverage

Coverage 55.56%

Importance

Changes 0
Metric Value
wmc 4
eloc 5
dl 0
loc 36
ccs 5
cts 9
cp 0.5556
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getRouteCollection() 0 3 1
A matchUrl() 0 3 1
A addRoutes() 0 3 1
A matchRequest() 0 3 1
1
<?php
2
3
4
namespace Xervice\Routing\Business;
5
6
7
use DataProvider\RouteCollectionDataProvider;
8
use Symfony\Component\HttpFoundation\Request;
9
use Xervice\Core\Business\Model\Facade\AbstractFacade;
10
11
/**
12
 * @method \Xervice\Routing\Business\RoutingBusinessFactory getFactory()
13
 * @method \Xervice\Routing\RoutingConfig getConfig()
14
 */
15
class RoutingFacade extends AbstractFacade implements RoutingFacadeInterface
16
{
17
    /**
18
     * @param \DataProvider\RouteCollectionDataProvider $dataProvider
19
     */
20 3
    public function addRoutes(RouteCollectionDataProvider $dataProvider): void
21
    {
22 3
        $this->getFactory()->getRouteCollection()->addRouteCollection($dataProvider);
23 3
    }
24
25
    /**
26
     * @return \Symfony\Component\Routing\RouteCollection
27
     */
28
    public function getRouteCollection()
29
    {
30
        return $this->getFactory()->getRouteCollection()->getRouteCollection();
31
    }
32
33
    /**
34
     * @param string $url
35
     *
36
     * @return array
37
     */
38 3
    public function matchUrl(string $url): array
39
    {
40 3
        return $this->getFactory()->createMatcher()->match($url);
41
    }
42
43
    /**
44
     * @param \Symfony\Component\HttpFoundation\Request $request
45
     *
46
     * @return array
47
     */
48
    public function matchRequest(Request $request = null): array
49
    {
50
        return $this->getFactory()->createMatcher($request)->matchRequest();
51
    }
52
}