public AccessResult::inheritCacheability(AccessResultInterface $other)
Inherits the cacheability of the other access result, if any.
inheritCacheability() differs from addCacheableDependency() in how it handles max-age, because it is designed to inherit the cacheability of the second operand in the andIf() and orIf() operations. There, the situation "allowed, max-age=0 OR allowed, max-age=1000" needs to yield max-age 1000 as the end result.
Parameters
\Drupal\Core\Access\AccessResultInterface $other: The other access result, whose cacheability (if any) to inherit.
Return value
$this
File
- core/lib/Drupal/Core/Access/AccessResult.php, line 391
Class
- AccessResult
- Value object for passing an access result with cacheability metadata.
Namespace
Drupal\Core\Access
Code
1 2 3 4 5 6 7 8 9 10 11 12 | public function inheritCacheability(AccessResultInterface $other ) { $this ->addCacheableDependency( $other ); if ( $other instanceof CacheableDependencyInterface) { if ( $this ->getCacheMaxAge() !== 0 && $other ->getCacheMaxAge() !== 0) { $this ->setCacheMaxAge(Cache::mergeMaxAges( $this ->getCacheMaxAge(), $other ->getCacheMaxAge())); } else { $this ->setCacheMaxAge( $other ->getCacheMaxAge()); } } return $this ; } |
Please login to continue.