我正在尝试调试错误"致命错误:无法在C:\ wamp \ www \ Symfony \ src \ Acme \ UserBundle \ entity \ User.php中重新声明类Acme \ UserBundle \ Entity \ User 15"在我的命令窗口中,我想使用Doctrine命令创建Mysql表" php app / console doctrine:schema:update --force"。
以下是我的实体代码的顶部:
namespace Acme\UserBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* Acme\UserBundle\Entity\User
*
* @ORM\Table(name="acme_users")
* @ORM\Entity(repositoryClass="Acme\UserBundle\Entity\UserRepository")
*/
class User implements UserInterface, \Serializable
{
//...
要知道我可以在哪里双重声明我的用户"我已经重命名为" User_alias"并清除了我的缓存(使用" php app / console cache:clear"命令)。命令窗口然后给出了错误"名称为" basededonne.acme_users'的表格。已经存在。'。但是,我没有在phpmyadmin中看到这个表。另外,我的浏览器在User.php第15行给出了错误" FatalErrorException:编译错误:无法重新声明类Acme \ UserBundle \ Entity \ User_alias" (当我使用" User"类时,我的浏览器没有错误。
有人可以给我一些其他方法来探讨解决这个问题吗?我猜想目前还有一个更大的画面。
答案 0 :(得分:2)
在User_alias.php
class User
定义。
当您尝试在此命令的预热部分清除缓存时,symfony会根据您的项目文件生成一些缓存文件。因此,在访问User
中的课程User.php
之后,再次访问User
中的课程User_alias.php
并输入错误。
尝试在User_alias.php
中重命名您的课程,一切正常。