#hints
Если вам нужно вызвать поле класса, которое является типом callable, внутри одного из его методов, вместо того чтобы присваивать его переменной и после вызывать, вы можете использовать такую запись:
Если вам нужно вызвать поле класса, которое является типом callable, внутри одного из его методов, вместо того чтобы присваивать его переменной и после вызывать, вы можете использовать такую запись:
$result = ($this->fieldAsFunc)($arg);
#hints
Если метод или функция, которые вы вызываете, требует от вас аргумент типа
Пример:
Если метод или функция, которые вы вызываете, требует от вас аргумент типа
callable
, вы можете передать туда не только реальный Closure
, но и массив вида: [new ClassName(), 'methodInsideClass']
Пример:
final class PHP
{
public function do()
{
return 'some';
}
}
function call(callable $func)
{
return $func();
}
var_dump(call([new PHP(), 'do'])); // string(5) "some"