我有一个实体Test
,它将从特质中获取其属性(和基本方法):
class Test {
use Trait_title;
}
trait Trait_title{
/**
* @ORM\Column(type="string", length=255, nullable=false)
*/
private $title;
}
这个方法可以正常工作。但是,当我尝试将注释放在use
语句前的Test Class
中时,无论是部分还是全部注释,在尝试更新模式时 Symfony 都会忽略它们:
class Test {
/**
* @ORM\Column(type="string", length=255, nullable=false) //will be ignored...
*/
use Trait_title;
}
trait Trait_title {
private $title;
}
这样做的目的是将Doctrine注释的默认值移到Trait中,但也允许在实体中设置一些自定义注释,例如nullable
。