【问题标题】:Calling a class and function using variable使用变量调用类和函数
【发布时间】:2018-12-11 03:06:20
【问题描述】:

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

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

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

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


}

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

【问题讨论】:

    标签: php laravel php-7


    【解决方案1】:

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

    你可以这样做:

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

    或者用 1 行:

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

    【讨论】:

      【解决方案2】:

      这应该可行。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-25
        • 1970-01-01
        • 2011-09-08
        相关资源
        最近更新 更多