我在Task
命名空间中创建了名为App\Entity
的类,我的问题出现在我想要使用它的另一个类中,但它没有检测到我的类并给我错误:
尝试从命名空间“App \ Entity”加载类“Task”。 您是否忘记了另一个命名空间的“use”语句?
这是我的Task.php
:
namespace App\Entity;
class Task
{
protected $task;
public function getTask()
{
return $this->task;
}
public function setTask($task)
{
$this->task = $task;
}
}
这是使用DefaultController
类的Task
:
use App\Entity\Task;
class DefaultController
{
}
答案 0 :(得分:0)
根据您的自动加载器设置,如果您使用的是编辑器,则可以使用自动加载仅在预先构建的类地图中发生 - 称为“权威类图”' (https://getcomposer.org/doc/articles/autoloader-optimization.md)。
因此,当您向源添加类时,预构建的自动加载器无法识别它。尝试运行composer dump
以通过标准PSR-0 / PSR-4规则加载自动加载器。
如果您在PSR-0 / PSR-4模式下使用自动加载器,那么您可能没有将该文件放在正确的目录中。