function SystemTestController::permissionDependentContent

Same name and namespace in other branches
  1. 11.x core/modules/system/tests/modules/system_test/src/Controller/SystemTestController.php \Drupal\system_test\Controller\SystemTestController::permissionDependentContent()
  2. 10 core/modules/system/tests/modules/system_test/src/Controller/SystemTestController.php \Drupal\system_test\Controller\SystemTestController::permissionDependentContent()
  3. 9 core/modules/system/tests/modules/system_test/src/Controller/SystemTestController.php \Drupal\system_test\Controller\SystemTestController::permissionDependentContent()
  4. 8.9.x core/modules/system/tests/modules/system_test/src/Controller/SystemTestController.php \Drupal\system_test\Controller\SystemTestController::permissionDependentContent()

Shows permission-dependent content.

Attributes

#[Route(path: '/system-test/permission-dependent-content', name: 'system_test.permission_dependent_content', requirements: [ '_access' => 'TRUE', ])]

Return value

array A render array.

File

core/modules/system/tests/modules/system_test/src/Controller/SystemTestController.php, line 506

Class

SystemTestController
Controller routines for system_test routes.

Namespace

Drupal\system_test\Controller

Code

public function permissionDependentContent() {
  $build = [];
  // The content depends on the access result.
  $access = AccessResult::allowedIfHasPermission($this->currentUser, 'pet llamas');
  $this->renderer
    ->addCacheableDependency($build, $access);
  // Build the content.
  if ($access->isAllowed()) {
    $build['allowed'] = [
      '#markup' => 'Permission to pet llamas: yes!',
    ];
  }
  else {
    $build['forbidden'] = [
      '#markup' => 'Permission to pet llamas: no!',
    ];
  }
  return $build;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.