<?php
class A {
private $x;
public function createCallback()
{
// создаем анонимную функцию
return function() {
$this->x = 1;
};
}
}
$a = new A;
$callback = $a->createCallback( );
$callback( ); // все должно быть ок
PD9waHAKCgpjbGFzcyBBIHsKICAgIHByaXZhdGUgJHg7CgkKCXB1YmxpYyBmdW5jdGlvbiBjcmVhdGVDYWxsYmFjaygpIAoJewoJCS8vINGB0L7Qt9C00LDQtdC8INCw0L3QvtC90LjQvNC90YPRjiDRhNGD0L3QutGG0LjRjgoJCXJldHVybiBmdW5jdGlvbigpIHsKCQkJJHRoaXMtPnggPSAxOwoJCX07Cgl9Cn0KCiRhID0gbmV3IEE7CiRjYWxsYmFjayA9ICRhLT5jcmVhdGVDYWxsYmFjayggKTsKJGNhbGxiYWNrKCApOyAvLyDQstGB0LUg0LTQvtC70LbQvdC+INCx0YvRgtGMINC+0LoKCnZhcl9kdW1wKCRhKTsK