public AccessManager::checkNamedRoute($route_name, array $parameters = array(), AccountInterface $account = NULL, $return_as_object = FALSE)
Checks a named route with parameters against applicable access check services.
Determines whether the route is accessible or not.
Parameters
string $route_name: The route to check access to.
array $parameters: Optional array of values to substitute into the route path pattern.
\Drupal\Core\Session\AccountInterface $account: (optional) Run access checks for this account. Defaults to the current user.
bool $return_as_object: (optional) Defaults to FALSE.
Return value
bool|\Drupal\Core\Access\AccessResultInterface The access result. Returns a boolean if $return_as_object is FALSE (this is the default) and otherwise an AccessResultInterface object. When a boolean is returned, the result of AccessInterface::isAllowed() is returned, i.e. TRUE means access is explicitly allowed, FALSE means access is either explicitly forbidden or "no opinion".
Overrides AccessManagerInterface::checkNamedRoute
File
- core/lib/Drupal/Core/Access/AccessManager.php, line 81
Class
- AccessManager
- Attaches access check services to routes and runs them on request.
Namespace
Drupal\Core\Access
Code
public function checkNamedRoute($route_name, array $parameters = array(), AccountInterface $account = NULL, $return_as_object = FALSE) { try { $route = $this->routeProvider->getRouteByName($route_name, $parameters); // ParamConverterManager relies on the route name and object being // available from the parameters array. $parameters[RouteObjectInterface::ROUTE_NAME] = $route_name; $parameters[RouteObjectInterface::ROUTE_OBJECT] = $route; $upcasted_parameters = $this->paramConverterManager->convert($parameters + $route->getDefaults()); $route_match = new RouteMatch($route_name, $route, $upcasted_parameters, $parameters); return $this->check($route_match, $account, NULL, $return_as_object); } catch (RouteNotFoundException $e) { // Cacheable until extensions change. $result = AccessResult::forbidden()->addCacheTags(['config:core.extension']); return $return_as_object ? $result : $result->isAllowed(); } catch (ParamNotConvertedException $e) { // Uncacheable because conversion of the parameter may not have been // possible due to dynamic circumstances. $result = AccessResult::forbidden()->setCacheMaxAge(0); return $return_as_object ? $result : $result->isAllowed(); } }
Please login to continue.