Passed
Push — master ( f6ade7...00655e )
by Nícollas
10:13 queued 12s
created

RouteUtils::globalMiddlewares()   A

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
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 3
rs 10
1
<?php
2
3
namespace MinasRouter\Traits;
4
5
use MinasRouter\Router\RouteGroups;
6
use MinasRouter\Router\Middlewares\MiddlewareRoute;
7
8
trait RouteUtils
9
{
10
    /** @var object */
11
    public static $collection;
12
13
    /**
14
     * Method responsible for creating a 
15
     * new instance of RouteGroups.
16
     * 
17
     * @return \MinasRouter\Router\RouteGroups
18
     */
19
    private static function newRouteGroup()
20
    {
21
        $group = (new RouteGroups(self::$collection));
22
23
        self::$collection->defineGroup($group);
24
25
        return $group;
26
    }
27
28
    /**
29
     * Method responsible for setting all global
30
     * middlewares and identifying them with alias.
31
     * 
32
     * @param Array $middlewares
33
     * 
34
     * @return void
35
     */
36
    public static function globalMiddlewares(Array $middlewares): void
37
    {
38
        MiddlewareRoute::setMiddlewares($middlewares);
39
    }
40
41
    /**
42
     * Method responsible for setting the default
43
     * namespace in a route group.
44
     * 
45
     * @param string $namespace
46
     * 
47
     * @return \MinasRouter\Router\RouteGroups
48
     */
49
    public static function namespace(String $namespace)
50
    {
51
        return self::newRouteGroup()->namespace($namespace);
52
    }
53
54
    /**
55
     * Method responsible for setting the default
56
     * prefix in a route group.
57
     * 
58
     * @param string $prefix
59
     * 
60
     * @return \MinasRouter\Router\RouteGroups
61
     */
62
    public static function prefix(String $prefix)
63
    {
64
        return self::newRouteGroup()->prefix($prefix);
65
    }
66
67
    /**
68
     * Method responsible for setting the default
69
     * middleware in a route group.
70
     * 
71
     * @param string $middleware
72
     * 
73
     * @return \MinasRouter\Router\RouteGroups
74
     */
75
    public static function middleware($middleware)
76
    {
77
        return self::newRouteGroup()->middlewares($middleware);
78
    }
79
80
    /**
81
     * Method responsible for setting the default
82
     * name in a route group.
83
     * 
84
     * @param string $name
85
     * 
86
     * @return \MinasRouter\Router\RouteGroups
87
     */
88
    public static function name(String $name)
89
    {
90
        return self::newRouteGroup()->name($name);
91
    }
92
}