следующий код, который не работает, как и ожидалось, более точные комментарии ниже в кодеобласть методов частного класса в анонимной функции
class A1 {
function __call($name, $arguments) {
throw new \Exception('Method ..... ' . $name . ' not exists ...');
}
/* When this method is public - it works good*/
private function test($d) {
var_dump($d);
}
public function test1() {
/* duplicate for using in anonym function */
$_this=$this;
#$_this->test(1); #- it works good!!!
#var_dump($_this);
/* create anonym func, wherein the method is called test() */
$rrr= function()use($_this){
#var_dump($_this); # - values of output equally with above used var_dump
$_this->test(1); # - it do NOT WORK !!!!
};
$rrr(); # catch Exception of __call() ...
}
}
$r = new A1;
var_dump($r->test1());
Я не могу понять, почему счетчики анонимных вызовов функции, как из ВНЕШНИЕ, когда $ это не изменено ...
ошибка?
Марк Бейкер, спасибо! это работает! но он должен был обновить систему и версию php, но это мелочи) – Dmitriy