Symfony Doctrine架构更新无法重新声明类

时间:2015-01-27 18:09:53

标签: symfony doctrine

我正在尝试调试错误"致命错误:无法在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"类时,我的浏览器没有错误。

有人可以给我一些其他方法来探讨解决这个问题吗?我猜想目前还有一个更大的画面。

1 个答案:

答案 0 :(得分:2)

User_alias.php class User定义。

当您尝试在此命令的预热部分清除缓存时,symfony会根据您的项目文件生成一些缓存文件。因此,在访问User中的课程User.php之后,再次访问User中的课程User_alias.php并输入错误。

尝试在User_alias.php中重命名您的课程,一切正常。