php多个动态调用

时间:2014-06-10 08:51:25

标签: php dynamic methods call

我知道可以像

一样动态调用一个方法
$function = 'foo';
$bar = new Bar();
$bar->$function();

我想要实现的是多次调用,就像我收到一个未知数量的方法,我必须从一个对象调用它们。我得到例如'foo', 'bar', 'bro',我必须动态$object->foo()->bar()->bro()

有可能吗?我知道call_user_func,但我不认为它可以解决这个问题... 非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以遍历这些函数并将它们应用于每个结果:

$arr = array('foo','bar','bro');
$object = getTheObject();
$res = $object;
foreach($arr as $funcName){
    $res = $res->$funcName();
}

然而,这种代码给人们带来了噩梦,因为它真的不太清楚发生了什么。考虑使用其他方法来做你需要的。