例子:
class foo {
private $x=array();
public function foo() {
$z = function ($a) use (&$this->x) {
...
}
}
}
错误:不能使用 $this 作为词法变量
根据情况,我们可以将anonymous声明为方法......所以另一个问题来了。我的“真实案例”,
// a very specific problem...
class foo {
private $x=array();
public function foo($m) {
// ... use $this->x and $m ...
return $ret;
}
public function bar() {
$str = preg_replace_callback('/aaaa/', $this->foo, $str);
}
}
错误:未定义的属性 $foo ...