創建實例方法,我希望能夠動態地創建一個類的構造函數中的實例方法如下所示:動態的PHP
class Foo{
function __construct() {
$code = 'print hi;';
$sayHi = create_function('', $code);
print "$sayHi"; //prints lambda_2
print $sayHi(); // prints 'hi'
$this->sayHi = $sayHi;
}
}
$f = new Foo;
$f->sayHi(); //Fatal error: Call to undefined method Foo::sayHi() in /export/home/web/private/htdocs/staff/cohenaa/dev-drupal-2/sites/all/modules/devel/devel.module(1086) : eval()'d code on line 12
這個問題似乎是在lambda_2函數對象是沒有得到在構造函數中綁定到$ this。
任何幫助表示讚賞。
您可能想清除構造函數代碼中的錯誤。 – Gordon 2010-07-12 19:31:10