Laratrust\Laratrust::routeNeedsRole PHP Method

routeNeedsRole() public method

If the third parameter is null then abort with status code 403. Otherwise the $result is returned.
public routeNeedsRole ( string $route, array | string $roles, mixed $result = null, boolean $requireAll = true ) : mixed
$route string Route pattern. i.e: "admin/*"
$roles array | string The role(s) needed
$result mixed i.e: Redirect::to('/')
$requireAll boolean User must have all roles
return mixed
    public function routeNeedsRole($route, $roles, $result = null, $requireAll = true)
    {
        $filterName = is_array($roles) ? implode('_', $roles) : $roles;
        $filterName .= '_' . substr(md5($route), 0, 6);
        $closure = function () use($roles, $result, $requireAll) {
            $hasRole = $this->hasRole($roles, $requireAll);
            if (!$hasRole) {
                return empty($result) ? $this->app->abort(403) : $result;
            }
        };
        // Same as Route::filter, registers a new filter
        $this->app->router->filter($filterName, $closure);
        // Same as Route::when, assigns a route pattern to the
        // previously created filter.
        $this->app->router->when($route, $filterName);
    }