Passed
Push — develop ( 4b65e1...8da09c )
by Jens
02:48
created

CmsRouting::doRouting()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 3
nc 2
nop 3
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created by IntelliJ IDEA.
4
 * User: jensk
5
 * Date: 30-1-2017
6
 * Time: 13:06
7
 */
8
9
namespace CloudControl\Cms\components\cms;
10
11
12
use CloudControl\Cms\cc\Request;
13
use CloudControl\Cms\components\CmsComponent;
14
15
abstract class CmsRouting
16
{
17
    protected static $routes = array();
18
19
    /**
20
     * CmsRouting constructor.
21
     *
22
     * @param Request $request
23
     * @param string $relativeCmsUri
24
     * @param CmsComponent $cmsComponent
25
     */
26
    abstract public function __construct(Request $request, $relativeCmsUri, CmsComponent $cmsComponent);
27
28
    /**
29
     * @param Request $request
30
     * @param string $relativeCmsUri
31
     * @param CmsComponent $cmsComponent
32
     * @throws \Exception
33
     */
34
    protected function doRouting($request, $relativeCmsUri, $cmsComponent)
35
    {
36
        if (array_key_exists($relativeCmsUri, $this::$routes)) {
37
            $method = $this::$routes[$relativeCmsUri];
38
            $this->$method($request, $cmsComponent);
39
        }
40
    }
41
}