3

我正在尝试将本教程应用到我的项目中,但无法正常工作。每次我尝试更新我的架构时都会收到一个错误:致命错误:无法重新声明类 Rueckgrat\App\Models\ProjectSetting in.....

我有 2 个文件。第一个是 ProjectSetting.php

namespace Rueckgrat\App\Models;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping AS ORM;

/**
 * @ORM\Entity()
 * @ORM\Table(name="project_setting")
 * @ORM\HasLifecycleCallbacks()
 * @ORM\InheritanceType("SINGLE_TABLE")
 * @ORM\DiscriminatorColumn(name="is_production", type="integer")
 * @ORM\DiscriminatorMap({"0" = "ProjectCalculation", "1" = "ProjectSetting"})
 */
class ProjectSetting
{
// More code here
}

第二个是 ProjectCalculation.php

namespace Rueckgrat\App\Models;
use Doctrine\ORM\Mapping AS ORM;
/**
 * @ORM\Entity
 */
class ProjectCalculation extends \Rueckgrat\App\Models\ProjectSetting
{      
....
}

任何帮助或提示表示赞赏。

更新:

完整错误消息:致命错误:无法在第 17 行的 /Applications/MAMP/htdocs/Rueckgrat/app/models/ProjectSetting.php 中重新声明类 Rueckgrat\App\Models\ProjectSetting

我刚刚尝试了 Doctrine 文档中的示例,只是拆分为两个实体文件,但它不起作用。然后我在 ProjectSetting 文件中复制了 ProjectCalculation 类,它正在工作。

更新 2:

我无法更新我的架构,但是当我保存 ProjectCalculation 实体时,它将正确的鉴别器保存到 project_setting 表中。

4

1 回答 1

1

这可能是您机器上的 PHP 加速器的问题。请关闭 APC 或 XCache(无论那里有什么),重新启动 PHP/Apache 并重试。

于 2011-11-18T09:05:03.577 回答