我想在Symfony2中添加一些方法給Doctrine服務。我怎樣才能做到這一點?我是否應該擴展一些課程並將其註冊爲服務?我寧願將服務留在「教條」名下。如何在Symfony2中擴展Doctrine服務?
1
A
回答
1
您必須擴展Symfony\Bundle\DoctrineBundle\Registry
類,並添加你自己的方法。
然後,所有你需要做的就是定義應用程序/配置/ config.yml例如一個服務名爲「主義」:
// app/config/config.yml
services:
doctrine:
class: MyDoctrineRegistry
arguments: [ @service_container ]
在config.yml定義的服務會被加載最後,所以它將覆蓋默認的一個。
如果你想更清潔,你必須使用重載的DependencyInjection /擴展服務:
$container->setAlias('doctrine', 'my_doctrine'); // my_doctrine is the name of you custom doctrine service
在最後這種情況下,你必須確保你的包被加載核心軟件包之後。
0
您可以爲連接指定包裝類並指定其中的自定義方法。我之前用這個擴展了Doctrine的DBAL功能,它對我的用例非常有效。
詳情點擊這裏:
+0
在這種情況下不需要,但我會在其他一些問題上使用此解決方案,謝謝。 – JohnM2 2012-03-11 13:05:04
+0
歡迎:) – 2012-03-11 17:30:59
相關問題
- 1. 如何在Symfony2中覆蓋/擴展默認的Doctrine EntityManager類?
- 2. 在服務中使用Doctrine Symfony2
- 3. symfony2服務擴展了另一個類
- 4. 如何使用Doctrine擴展
- 5. Doctrine擴展名REGEXP不能在Symfony2中工作
- 6. 如何擴展服務
- 7. 如何訪問Symfony2服務類中的Doctrine DBAL?
- 8. 從Symfony2的樹枝擴展中使用幫助器服務
- 9. 如何在Symfony2中導入的參數文件中訪問Doctrine服務?
- 10. 如何在Symfony2,doctrine 2中使用@SqlResultSetMapping?
- 11. 如何在symfony2中使用Doctrine AbstractType
- 12. 如何在symfony2中配置Doctrine?
- 13. Symfony2:Doctrine擴展Softdeleteable永久刪除可翻譯元素
- 14. 多對多的關係querybuilder doctrine和symfony2擴展查詢
- 15. 擴展Angular2 +服務
- 16. 擴展Windows服務
- 17. 擴展OData服務
- 18. 在Doctrine實體中訪問Symfony2服務層?
- 19. 如何以角度擴展$ http服務?
- 20. 如何擴展Node.js WebSocket Redis服務器?
- 21. 如何向擴展joomla提供服務?
- 22. 在Doctrine2/Symfony2中使用沒有Doctrine分頁符擴展的分頁
- 23. 擴展一個Doctrine實體以在Symfony2中添加額外的關聯映射
- 24. Doctrine 2的GIS擴展
- 25. 如何擴展/覆蓋symfony2 form_row函數
- 26. 如何測試Symfony2 Bundle擴展:: load()?
- 27. Symfony2:如何擴展一個包?
- 28. 在OSGi擴展束中註冊服務
- 29. 在Clojure中擴展Dropwizard服務類
- 30. 在grails中擴展插件服務
當我嘗試上面的解決方案時,出現此錯誤「ErrorException:可捕獲的致命錯誤:傳遞給Symfony \ Bundle \ DoctrineBundle \ Registry :: __ construct()的參數1必須實現接口Symfony \ Component \ DependencyInjection \ ContainerInterface ,沒有給出「。這是因爲Registry類需要多個參數。任何想法如何處理? – JohnM2 2012-03-12 16:06:56
是的,你的服務定義應該爲你的構造函數提供參數,在這裏它應該是「service_container」服務。查看更新後的帖子。 – Florian 2012-03-13 08:08:37
註冊表類的構造函數有5個必需的參數:__construct(ContainerInterface $容器,數組$連接,數組$實體管理器,$ defaultConnection,$ defaultEntityManager) – JohnM2 2012-03-13 13:08:36