我正在尝试在Doctrine2(版本2.1.3)中安装"gedmo" behaviourial extensions (version 2.1.0-DEV)。
没有扩展,一切正常。但是,当我添加annotationdriver来读取@ gedmo-annotations时会抛出诸如“Uncaught exception 'Doctrine\ORM\Mapping\MappingException' with message 'Class User2 is not a valid entity or mapped super class
”之类的错误。
这是de User2-entity:
<?php
use \Doctrine\ORM\Mapping as ORM;
/** @ORM\Entity */
class User2 {
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
private $id;
/** @ORM\Column(length=255) */
private $username;
}
因为即使在未使用@gemdo的实体中也会出现这些错误,我怀疑它与注释驱动程序的配置方式有关。在我的bootstrap文件中添加了注释驱动程序(我只会使用树扩展名):
$reader = new \Doctrine\Common\Annotations\AnnotationReader();
$annotationDriver = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver($reader);
$chain = new \Doctrine\ORM\Mapping\Driver\DriverChain;
$chain->addDriver($annotationDriver, 'Gedmo\Tree\Entity');
$config->setMetadataDriverImpl($chain);
几个问题:
简而言之:我怎样才能使@orm和@gedmo注释有效?