PHP-BE1
311 subscribers
340 photos
11 videos
19 files
621 links
Канал по PHP, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
#hints

Если вам нужно вызвать поле класса, которое является типом 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"