我有一个名为ModelFactory
的类,它应该返回Model
对象的实例。但是由于某种原因,PHP似乎找不到它。
警告:require_once(./../../../../model.php):无法打开流:没有这样的文件或目录
这是我通过 DI 加载以供参考的ModelFactory
类:
namespace jasPdfFactory;
require_once "../../../../../model.php";
use Model;
class ModelFactory
{
/**
* @return Model
*/
public function create(){
return new Model(false);
}
}
这是我的Model
类,比类高 5ModelFactory
级别,通过require_once
加载:
class Model
{
public function __construct($serverRequest = false)
{
if(!$serverRequest){
$this->checkIfLocal();
}
$this->conn = $this->connectToDB();
}
}
我有点困惑。PHP 抛出错误是由于类没有命名空间Model
还是因为命名空间与文件路径冲突ModelFactory
?非常感谢您提供的任何见解。
我通过参考这个问题来修复它: PHP - 无法打开流:没有这样的文件或目录
我使用__DIR__
作为路径的基线。应用它,路径现在如下所示:
namespace jasPdfFactory;
require_once __DIR__."/../../../../../model.php";
use Model;
class ModelFactory
{
/**
* @return Model
*/
public function create(){
return new Model(false);
}
}
因此,该类现在已正确加载。