链式方法 OOP call_user_func_array php

Chained Methods OOP call_user_func_array php

我想知道以下是否可行。我们有一个 class 是为使用链式方法而设计的。

$CarClass = $CarConnection->models->count();

在上面的例子中,我们正在计算模型。但是,想要动态地进行。例如:

$CountArray = array('models','brands','countries');
foreach($CountArray AS $key => $value){
    $CarData[$value] = $CarConnection->$value->count();       
}

但是,这会输出一个错误:"Call to a member function count() on a non-object in" 虽然我很确定计数存在,因为前面提到的函数正在运行。

一些谷歌搜索导致添加括号 { } 但这也不起作用。

 $CarData[$value] = $CarConnection->{$value}->count();    

任何一个解决方案?

亲切的问候,

彼得

我可以在你的循环中发现一个语法错误: 它应该去 -

$CountArray = array('models','brands','countries');

foreach($CountArray as $key => $value){
$CarData[$value] = $CarConnection->$value->count();       

}

而且,您拥有的数组不是关联数组。所以你不需要$key! 试试这个:

foreach($CountArray as $value) {
 $CarData[$value] = $CarConnection->{$value}->count();
}