public function UncacheableTestAccessResult::andIf in Drupal 9
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/Core/Access/AccessResultTest.php \Drupal\Tests\Core\Access\UncacheableTestAccessResult::andIf()
Combine this access result with another using AND.
When ANDing 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
Overrides AccessResultInterface::andIf
File
- core/
tests/ Drupal/ Tests/ Core/ Access/ AccessResultTest.php, line 1028 - Contains \Drupal\Tests\Core\Access\AccessResultTest.
Class
Namespace
Drupal\Tests\Core\AccessCode
public function andIf(AccessResultInterface $other) {
if ($this
->isForbidden() || $other
->isForbidden()) {
return new static('FORBIDDEN');
}
elseif ($this
->isAllowed() && $other
->isAllowed()) {
return new static('ALLOWED');
}
else {
return new static('NEUTRAL');
}
}