使用 DI: 注入类无法打开流



我有一个名为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);
}
}

因此,该类现在已正确加载。

最新更新