这就是我想要做的事情: 我有一个对象
class TestObject {
public function __call($name,$args){
if($name == 'somemethod'){
print "Yesssss!!!!!!";
}
}
}
比我在这个方法中调用这样的方法:
$obj = new TestObject()
$obj->somemethod() // should work according to http://www.php.net/manual/en/language.oop5.overloading.php#object.call
call_user_func(array('myobject','somemethod')) // this does not work!!!
有没有办法让最后一个例子起作用?
答案 0 :(得分:0)
$obj_name = 'myobject';
$method_name = 'somemethod';
${$obj_name}->${$method->name()};
答案 1 :(得分:0)
您可以使用
call_user_func(array($obj,'somemethod'));
或
$method = 'somemethod';
$obj->$method();