【发布时间】:2017-02-06 23:20:47
【问题描述】:
我今天下午刚开始使用 Symfony 框架。我转到“CRUD”,并按照教程使用内置工具生成 CRUD。但是,使用默认命令时,我遇到了错误。
Attempted to load class "Task" from namespace "AppBundle\Controller".
Did you forget a "use" statement for another namespace?
500 Internal Server Error - ClassNotFoundException
This 是我关注的视频。
- 我从 Symfony 的空白安装开始。
- 已连接数据库。
- 跑
php bin/console generate:doctrine:entity,写了 AppBundle:Tasks,然后按回车键通过所有选项默认为 创建一个简单的名称和注释字段。 - Ran
php bin/console generate:doctrine:crud写了 AppBundle:Tasks,并在所有选项默认值中按 Enter,但选择是以生成所有 CRUD 命令 - 跑
php bin/console doctrine:schema:update --force - 跑
php bin/console cache:clear - 转到
//localhost/symfony/web/app_dev.php/tasks,我被列入名单,工作正常。 - 但是如果我去
localhost/symfony/web/app_dev.php/tasks/new或者点击生成的按钮,我会得到上面提到的错误。
错误消息对我来说是希腊语,尽管它尽最大努力保持礼貌。我可以看到 Entity 下有一个 Tasks.php 文件,它定义了“Tasks”类,TasksController 设置为use AppBundle\Entity\Tasks,所以我不知道为什么它不能在我对这一切的有限理解下工作。
我正在尝试构建一个相当简单的任务管理应用程序,但对 Symfony 来说是全新的,并且开始时没有扎实的 PHP 背景。有人可以解释一下我在这个过程中可能出错的地方吗?
【问题讨论】:
-
错误信息是寻找一个名为Task而不是Tasks的类。因此,请检查您的控制器是否有新的 Task() 行。是的,一旦你的工作正常,然后将 Tasks 重命名为 Task 并省去一些麻烦。
-
@Cerad 谢谢。就是这样!我有一个复数类名