Exemple #1
0
 /**
  * Performs the specified access check.
  *
  * @param string $service_id
  *   The access check service ID to use.
  * @param \Drupal\Component\Utility\ArgumentsResolverInterface $arguments_resolver
  *   The parametrized arguments resolver instance.
  *
  * @return \Drupal\Core\Access\AccessResultInterface
  *   The access result.
  *
  * @throws \Drupal\Core\Access\AccessException
  *   Thrown when the access check returns an invalid value.
  */
 protected function performCheck($service_id, ArgumentsResolverInterface $arguments_resolver)
 {
     $callable = $this->checkProvider->loadCheck($service_id);
     $arguments = $arguments_resolver->getArguments($callable);
     /** @var \Drupal\Core\Access\AccessResultInterface $service_access **/
     $service_access = call_user_func_array($callable, $arguments);
     if (!$service_access instanceof AccessResultInterface) {
         throw new AccessException("Access error in {$service_id}. Access services must return an object that implements AccessResultInterface.");
     }
     return $service_access;
 }