在函数php中启动类对象?

问题描述 投票:0回答:1

在提供错误的函数中使用类(“未找到类”);

使用外部功能时,它起作用。例如-

require_once 'DoR/autoload.php';
use DoR\DoR;
use DoR\PSR\DoRx;
$dor = new DoR($agent);
$report = $dor->report();

[在函数中使用时,会提示错误(“ CLASS NOT FOUND”,例如-

]
function runDOR($agent){
    require_once 'DoR/autoload.php';
    $dor = new DoR($agent);
    $report = $dor->report();
    return $report;
}

$report = runDOR();

除了为功能分配use以外,还有其他选择。

php oop
1个回答
0
投票

不管有问题的设计,您不一定必须具有use语句。

您可以简单地执行$dor = new DoR\DoR($agent);(例如,使用完全限定的类名)。

此外,您的第一个示例当然也行不通。您将导入两个具有相同名称(DoR)的类,而不会使用任何别名。那行不通。

您已经解决了该问题,但是即使那样use DoR\PSR\DoRx;语句也是多余且不必要的。该代码段中的任何地方均未使用该类。

© www.soinside.com 2019 - 2024. All rights reserved.