RouteManagement::newRouter()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
nc 1
nop 2
dl 0
loc 3
rs 10
c 1
b 0
f 0
1
<?php
2
3
namespace MinasRouter\Traits;
4
5
use MinasRouter\Router\RouteManager;
6
7
trait RouteManagement
8
{
9
    /**
10
     * Method responsible for
11
     * instantiating a new route.
12
     * 
13
     * @param string $uri
14
     * @param \Closure|array|string $callback
15
     * 
16
     * @return \MinasRouter\Router\RouteManager
17
     */
18
    protected function addRouter(String $uri, $callback)
19
    {
20
        return $this->newRouter($uri, $callback);
21
    }
22
23
    /**
24
     * 
25
     */
26
    protected function redirectRouterData(String $redirect, Int $http)
27
    {
28
        return [
29
            "redirect" => $redirect,
30
            "httpCode" => $http,
31
            "permanent" => !!($http === 301)
32
        ];
33
    }
34
35
    /**
36
     * Method responsible for starting a new
37
     * RouteManager instance.
38
     * 
39
     * @param string $uri
40
     * @param \Closure|array|string $callback
41
     * 
42
     * @return \MinasRouter\Router\RouteManager
43
     */
44
    protected function newRouter(String $uri, $callback)
45
    {
46
        return new RouteManager($this->baseUrl, $uri, $callback, $this->actionSeparator, $this->currentGroup);
47
    }
48
}