类、命名空间、bin/console 命令
Classes, Namespacing, bin/console commands
我今天下午才开始使用 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,然后按回车键通过所有选项默认为
创建一个简单的名称和注释字段。
- 运行
php bin/console generate:doctrine:crud
编写了 AppBundle:Tasks,并在所有选项默认值中按回车键,但选择是以生成所有 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
或者点击生成的按钮,我会得到上面提到的错误。
错误消息对我来说是希腊语,尽管它已尽最大努力保持礼貌。我可以看到实体下有一个 Tasks.php 文件,它定义了 class "Tasks" 并且 TasksController 设置为 use AppBundle\Entity\Tasks
所以我不知道为什么它不能使用我对这一切的理解有限。
我正在尝试构建一个相当简单的任务管理应用程序,但我对 Symfony 是全新的,并且在 PHP 方面没有扎实的背景。有人可以解释一下我在这个过程中哪里出了问题吗?
要检查的事项:
- 文件
Task.php
的名称与 class 名称 class Task
相同。注意:class不能是复数,所以Task
是对的,Tasks
是错的
- 您的
Controller
命名空间和 class 声明之间有一个 use AppBundle\Entity\Task;
为避免此错误,您可以使用像 Phpstorm(或其他)这样的 PHP IDE,当您忘记添加 use statement.It 时,它会以彩色显示您的语句自动添加:D
我今天下午才开始使用 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,然后按回车键通过所有选项默认为 创建一个简单的名称和注释字段。 - 运行
php bin/console generate:doctrine:crud
编写了 AppBundle:Tasks,并在所有选项默认值中按回车键,但选择是以生成所有 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
或者点击生成的按钮,我会得到上面提到的错误。
错误消息对我来说是希腊语,尽管它已尽最大努力保持礼貌。我可以看到实体下有一个 Tasks.php 文件,它定义了 class "Tasks" 并且 TasksController 设置为 use AppBundle\Entity\Tasks
所以我不知道为什么它不能使用我对这一切的理解有限。
我正在尝试构建一个相当简单的任务管理应用程序,但我对 Symfony 是全新的,并且在 PHP 方面没有扎实的背景。有人可以解释一下我在这个过程中哪里出了问题吗?
要检查的事项:
- 文件
Task.php
的名称与 class 名称class Task
相同。注意:class不能是复数,所以Task
是对的,Tasks
是错的 - 您的
Controller
命名空间和 class 声明之间有一个use AppBundle\Entity\Task;
为避免此错误,您可以使用像 Phpstorm(或其他)这样的 PHP IDE,当您忘记添加 use statement.It 时,它会以彩色显示您的语句自动添加:D