Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Access/AccessResultInterface.php \Drupal\Core\Access\AccessResultInterface::andIf()
  2. 9 core/lib/Drupal/Core/Access/AccessResultInterface.php \Drupal\Core\Access\AccessResultInterface::andIf()

Combine this access result with another using AND.

When AND is performed on two access results, the result is:

  • isForbidden() in either ⇒ isForbidden()
  • otherwise, if isAllowed() in both ⇒ isAllowed()
  • otherwise, one of them is isNeutral() ⇒ isNeutral()

Truth table:


  |A N F
--+-----
A |A N F
N |N N F
F |F F F

Parameters

\Drupal\Core\Access\AccessResultInterface $other: The other access result to AND this one with.

Return value

static

2 methods override AccessResultInterface::andIf()
AccessResult::andIf in core/lib/Drupal/Core/Access/AccessResult.php
Combine this access result with another using AND.
UncacheableTestAccessResult::andIf in core/tests/Drupal/Tests/Core/Access/AccessResultTest.php
Combine this access result with another using AND.

File

core/lib/Drupal/Core/Access/AccessResultInterface.php, line 106

Class

AccessResultInterface
Interface for access result value objects.

Namespace

Drupal\Core\Access

Code

public function andIf(AccessResultInterface $other);