私の目標は、symfony2アプリケーションで一般的な作業のための再利用可能な特性を作り出すことです。例えば、私は、私のエンティティに追加すると、自動的にスラッグフィールドを追加し、すべてのエンティティを更新するためにリスナーが追加されたときsluggable形質をしたい。私の問題は、教義の注釈を特性から継承しようとするときに起こります。symfonyの特質とDoctrineの注釈が期待通りに機能しない
この例ください:
/**
* @UniqueEntity("name")
*/
trait Sluggable {
/**
* @Assert\NotBlank()
* @ORM\Column(type="string", length=255, unique=true)
*/
protected $name;
}
をし、私はこの
/**
* @ORM\Table(name="seller")
*/
class Seller implements SluggableInterface {
use Sluggable;
}
のようにそれを使用していると私は、フォームからSeller
を作成しようとすると、@UniqueEntity("name")
が動作していないと検証ではありませんワーキング。 Seller
クラスに手作業で追加する必要があります。私はそれを望んでいません。ありがとう。
クラスは、特性からアノテーションを継承しません。しかし、これを実現するには、おそらく[doctrine extensions:sluggable](https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/sluggable.md)を使うことができます。 – Muriano