2013-07-03 120 views
0

我想在我的實體上定製註釋,它將在persist事件上執行某些操作,但通過註釋進行定義。舉個例子:Symfony2:如何通過實體註釋創建事件偵聽器?

/** 
* @ORM\Entity 
* @Searchable("column"="title") 
*/ 
class Product 
{ 

} 

@Searchable註釋應該以某種方式觸發我的代碼,將讀取列title,獨立的單詞和保存到自己的表(什麼,我真的需要更加簡化的例子)。

我知道我可以使用原則偵聽器並將它們註冊到config.yml中,但我確實需要通過實體註釋完成此操作,以便searchable捆綁包可以很容易地通過不同的項目重用。我讀了大量的文檔,甚至試圖理解Gedmo行爲捆綁代碼,但我失敗了。可以以某種方式告訴我如何做到這一點,以一種防白癡的方式?

我甚至讀http://php-and-symfony.matthiasnoback.nl/2011/12/symfony2-doctrine-common-creating-powerful-annotations/但這太複雜了。

回答

1

你給出的鏈接是你應該如何做的完美例子。 您認爲使用定製手工解決方案會有多複雜?

不過,你可以嘗試:

+0

這個例子沒有解釋如何觸發它postPersist事件。 Gedmo/Timestampable行爲可以做到這一點,但代碼對我來說有點令人困惑。 – Zeljko

+0

它使用原則用戶/聽衆(請參閱我的鏈接#1) – Florian

+0

此監聽器可能是有權訪問註釋閱讀器(例如注入ctor)的服務。 – Florian

相關問題