Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php函数中初始化类对象?_Php_Oop - Fatal编程技术网

在php函数中初始化类对象?

在php函数中初始化类对象?,php,oop,Php,Oop,在函数中使用类,给出错误(“未找到类”) 当使用外部函数时,它工作。比如说- require_once 'DoR/autoload.php'; use DoR\DoR; use DoR\PSR\DoRx; $dor = new DoR($agent); $report = $dor->report(); 例如,在函数中使用时,会出现错误(“未找到类”)- function runDOR($agent){ require_once 'DoR/autoload.php'; $

在函数中使用类,给出错误(“未找到类”)

当使用外部函数时,它工作。比如说-

require_once 'DoR/autoload.php';
use DoR\DoR;
use DoR\PSR\DoRx;
$dor = new DoR($agent);
$report = $dor->report();
例如,在函数中使用时,会出现错误(“未找到类”)-

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

$report = runDOR();

它们是否可以替代功能的
使用
语句。

忽略有问题的设计,您不必使用
使用
语句

您只需执行
$dor=new dor\dor($agent)(例如,使用完全限定的类名)

而且,您的第一个示例肯定不起作用。您正在导入两个具有相同名称(
DoR
)的类,且没有别名。那不行


您已经编辑了该问题,但即使是
使用DoR\PSR\DoRx语句是多余和不必要的。该类未在该代码段的任何地方使用。

编辑了第一个示例(输入错误),$dor=new dor\dor($agent);工作正常,但如何使用DoR\PSR\DoRx;,如何加载此类。您没有在函数中使用该类。您只使用了
DoR\DoR
。要在不编写
use
语句的情况下使用这两个语句,只需使用完全限定名即可。每种情况都一样。