2011-11-28 16 views
6

エンティティクラスのカスタムアノテーションをいくつか作成したいと思いますが、私はthis article on Doctrine2に出くわしましたが、これを私のSymfonyバンドルに統合する方法は誰でも分かりますこれについてのいくつかの光?Symfony2&Doctrine2:カスタム注釈を作成

class User implements UserInterface 
{ 
    /** 
    * @var integer $id 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    * 
    * @myCustomVar(remember="true") 
    */ 
    protected $id; 

教義延長のおかげ

+0

根本的な質問:これをバンドルに統合する予定ですか、それとも別の場所に置くことができるコードがありますか? [教義拡張バンドルのREADME](https://github.com/stof/StofDoctrineExtensionsBundle/blob/master/Resources/doc/index.rst)を見ると、このバンドルがlib/vendorの中に入り、それはバンドルではありません。 – greg0ire

答えて

6

インスパイアます:DoctrineExtensionsライブラリは、いくつかのアノテーションクラスが含まれてい

  • 。しかし、この注釈はDoctrineコアのためのものを意味するものではないため、それを解釈する責任を負うのはこの拡張でもあります。そのためには、Doctrineのイベントディスパッチャーに登録する必要のあるリスナーを使用します。

  • symfonyでは、Doctrineバンドルがそれらを見つけて登録するように、symfonyではサービスをdoctrine.event_listener(またはイベントサブスクライバの場合はdoctrine.event_subscriber)と宣言できます。 StofDoctrineExtensionsBundleは、主にこのイベントリスナーの登録の一部を自動化することを目的としています。あなたは、それはsymfonyのせずに使用することができるよう、教義を拡張について考える二つの部分にあなたの仕事を分割することを好むとにかく

、:1は、教義の拡張機能ですが、他にはこの拡張とsymfonyとの間の接着剤でありますバンドルと呼ばれます。

関連する問題