我刚刚开始使用 PHP,我想知道是否有一种方法可以将匿名函数添加到类实例中。
例如,可以说...
class A{
public B;
}
$c = new A();
//This is where I am getting a little confused...
//The following wont work
$c->B = function(){echo('HelloWorld');};
$c->B();
我希望做的是在大量不同的应用程序中重用相同的代码,并使其能够在特定实例中“交换”和替换函数。
我正在使用 php5.3 (所以匿名函数应该可以工作,只是不是以我使用它们的方式)。
非常感谢您的宝贵时间!
-GK
您可以使用__call http://www.php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.methods这项工作的神奇功能。虽然不是美女,但是很管用。。
像这样:
class A {
public $B;
public function __call($closure, $args)
{
call_user_func_array($this->$closure, $args);
}
}
$c = new A();
$c->B = function () { echo('HelloWorld'); };
$c->B();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)