Анонимная функция: нужно ли через use передавать $this в php 7.x?
Анонимная функция: нужно ли через use передавать $this в php 7.x ?
В callback функции нужно использовать метод класса, нужно ли передавать $this через use?
class A {
public $mysql = null;
...
public function run(): void {
$other = new Other;
$other->result(function (array $data) {
$this->mysql->query(...); // работает ли это ? с какой это версии ? и нужно ли передавать через use $this в анонимную функцию
});
}
}
$
Ответы (1 шт):
Автор решения: Blacknife
→ Ссылка
Необходимости нет начиная с PHP 5.4, при объявлении анонимной функции в контексте класса, текущий класс будет автоматически связан с ней, делая $this доступным внутри функции. Если вы не хотите автоматического связывания с текущим классом, используйте static function (){...}, это предотвратит автоматическое связывание с текущим классом.