例:
class foo {
private $x=array();
public function foo() {
$z = function ($a) use (&$this->x) {
...
}
}
}
エラー: $this を字句変数として使用できません
状況に応じて、匿名をメソッドとして宣言できます...別の問題が発生します。私の「本当のケース」、
// 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 ...