RouteManagement   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 7
dl 0
loc 40
rs 10
c 1
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A redirectRouterData() 0 6 1
A newRouter() 0 3 1
A addRouter() 0 3 1
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
}