19 declare(strict_types=1);
    55         if ((self::PRIORITY_LOW > $priority) || ($priority > self::PRIORITY_HIGH)) {
    56             throw new LogicException(
"\$priority MUST be between LayoutModification::PRIORITY_LOW, LayoutModification::PRIORITY_MEDIUM or LayoutModification::PRIORITY_HIGH");
    93         $clone->modification = $closure;
   114             if (defined(
'DEVMODE') && ((
bool) DEVMODE) === 
true) {
   127         if (!$closure instanceof 
Closure) {
   139             $param = 
$r->getParameters()[0] ?? null;
   149             if (
$param->getType()->getName() !== $requested_first_argument_type) {
   150                 throw new InvalidModification($this, 
"Modification's first parameter does not match the requested type");
   160             if (!
$r->hasReturnType()) {
   164             if (
$r->getReturnType()->getName() !== $requested_return_type) {
   165                 throw new InvalidModification($this, 
"Modification's return type does not match the requested type");
   173             throw new InvalidModification($this, 
"Modification threw an exception while checking the closure");
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
getClosureFirstArgumentType()
 
withModification(Closure $closure)
 
firstArgumentAllowsNull()
 
withPriority(int $priority)
 
Class LayoutModification.