使用变量调用 class 和函数

Calling a class and function using variable

我一直在想是否可以这样调用函数

//
public function getDataSource($id,$source,Request $request){

    $form = 'Invoice';
    $fuToCall = $source;

    return \App\Core\Forms\.$form.\.$form.DataSource::$fuToCall();


}

我的 $form 名称的连接不起作用,为什么?有人可以帮忙吗

你并不是真的在连接字符串。您示例中命名空间的非动态部分不是字符串。

你可以这样做:

$class = '\App\Core\Forms\'.$form.'\'.$form.'\DataSource';
return $class::$fuToCall();

或 1 行:

return ('\App\Core\Forms\'.$form.'\'.$form.'\DataSource')::$funcToCall();

这应该有效。

call_user_func('\App\Core\Forms\' . $form . '\' . $form . '\DataSource', 'fuToCall');