This:
$Template->isAllowed('anything')
на самом деле говорит PHP вызвать метод Template::isAllowed()
, который явно не существует, как указано в вашей фатальной ошибке.
Вы не можете обработать Template::isAllowed()
как если бы это был реальный метод, назначив замыкание свойству.Однако вы все равно можете вызвать замыкание, назначенное свойству $Template->isAllowed
(которое является экземпляром Closure
).Для этого вам нужно либо присвоить свойство переменной, а затем вызвать ее:
$isAllowed = $Template->isAllowed;
if ($isAllowed('anything'))
echo 1;
else
echo 2;
Или использовать call_user_func()
:
if (call_user_func($Template->isAllowed, 'anything'))
echo 1;
else
echo 2;