我想在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. 在服務中使用Doctrine Symfony2
- 2. 如何擴展服務
- 3. 如何在symfony2中配置Doctrine?
- 4. 如何在symfony2中使用Doctrine AbstractType
- 5. 如何在Symfony2,doctrine 2中使用@SqlResultSetMapping?
- 6. 多對多的關係querybuilder doctrine和symfony2擴展查詢
- 7. 在Doctrine2/Symfony2中使用沒有Doctrine分頁符擴展的分頁
- 8. 如何擴展/覆蓋symfony2 form_row函數
- 9. 如何向擴展joomla提供服務?
- 10. 如何擴展使用JMS Di Extra @Service註釋定義的Symfony2服務?
- 11. 擴展的UserManager在Symfony2中與FOSUserBundle
- 12. 在grails中擴展插件服務
- 13. Wcf服務繼承(擴展服務)
- 14. 如何在Symfony2中擴展不同bundle的配置?
- 15. Symfony2 - Doctrine日誌
- 16. Symfony2 Doctrine MongoDB rollback
- 17. Symfony2和Doctrine - ManyToOne
- 18. Symfony2 MongoDB Doctrine ObjectID
- 19. Symfony2/Doctrine DQL QueryException
- 20. 如何在Azure容器服務Docker中擴展虛擬機?
- 21. 如何在Swift(OpenStack)服務中擴展存儲?
- 22. 擴展Symfony2用戶對象
- 23. Symfony2:範圍擴展異常
- 24. 擴展用戶FOSUserBundle Symfony2的
- 25. Symfony2:擴展FrameworkBundle控制器
- 26. 與ninject擴展WCF服務
- 27. 擴展Dynamics CRM 2011服務
- 28. RESTful服務,通過擴展
- 29. 擴展Azure應用服務
- 30. 服務DependencyInjection在Symfony2中
當我嘗試上面的解決方案時,出現此錯誤「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