Route::actionExists()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 15
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 3
eloc 7
c 2
b 0
f 0
nc 3
nop 1
dl 0
loc 15
rs 10
1
<?php
2
3
namespace Squadron\Base\Helpers;
4
5
use Squadron\Base\Exceptions\SquadronHelperException;
6
7
class Route
8
{
9
    public static $defaultControllerNamespace = '\\App\\Http\\Controllers\\';
10
11
    public static function actionExists(string $action): bool
12
    {
13
        $actionData = explode('@', $action);
14
15
        if (count($actionData) === 2)
16
        {
17
            [$actionController, $actionMethod] = $actionData;
18
19
            $controllerNamespace = $actionController[0] !== '\\'
20
                                      ? self::$defaultControllerNamespace : '';
21
22
            return method_exists($controllerNamespace.$actionController, $actionMethod);
23
        }
24
25
        throw SquadronHelperException::badRouteActionString($action);
26
    }
27
}
28