Сегодня я получил следующую ошибку php:
Неустранимая ошибка: использование
$this
если не в контексте объекта.
Довольно прямо. Я пытался получить доступ к объекту, не входящему в сферу действия.
Пример кода:
class foo{
function bar(){
array_walk($this->array,
function (&$v, $k) {
if('something'){
# code goes here...
}else{
$this->erorr_message = 'Fail'; // breaks in v5.3
}
}
);
if($this->error_message==''){
//do something
}
}
}
Я узнал, что это не работает в 5.3, но это работает в 5.5. Можете ли вы показать мне обновление PHP, которое внесло это изменение или объяснить мне, почему область не всегда позволяла это быть возможным? Я думаю, я понимаю, что просто не то, почему.
Его право на странице man для анонимных функций php:
Changelog
Version Description
5.4.0 $this can be used in anonymous functions.
5.3.0 Anonymous functions become available.
http://php.net/manual/en/functions.anonymous.php
Также