我知道可以像
一样动态调用一个方法$function = 'foo';
$bar = new Bar();
$bar->$function();
我想要实现的是多次调用,就像我收到一个未知数量的方法,我必须从一个对象调用它们。我得到例如'foo', 'bar', 'bro'
,我必须动态$object->foo()->bar()->bro()
。
有可能吗?我知道call_user_func,但我不认为它可以解决这个问题... 非常感谢!
答案 0 :(得分:1)
您可以遍历这些函数并将它们应用于每个结果:
$arr = array('foo','bar','bro');
$object = getTheObject();
$res = $object;
foreach($arr as $funcName){
$res = $res->$funcName();
}
然而,这种代码给人们带来了噩梦,因为它真的不太清楚发生了什么。考虑使用其他方法来做你需要的。