2011-04-07 38 views
2

我正在第一次在Symfony中編寫一個Web應用程序,所以我有一個關於使用Doctrine與Stored Procedures的問題。在Symfony中使用存儲過程 - 優點和缺點

我的背景是在Java服務器端,所以我想知道使用存儲過程的優點和缺點,與使用簡單的Doctrine代碼完成工作相比。在最基本的層面上,讓我們說我的Symfony Web應用程序用於管理,而另一個引擎(可能或不可能寫成Symfony組件,或者根本不用PHP)從數據庫中檢索配置分配或什麼。在這裏,我可以看到存儲過程在哪裏可能非常方便:兩個代碼庫都使用它們來查詢和訪問數據,但都不關心實際的模式。如果模式發生了變化(例如在某個表中添加一列),那麼我只需要更改SRPOC,而沒有別的,但如果我在兩個引擎中都使用代碼來訪問數據, d必須改變它們以匹配新的模式。

有何評論?還是我太過分了?

謝謝! -DBG

回答

2

如果您不使用doctrine,則會鬆散數據庫抽象和對象映射。這是一個重大損失。如果您需要第三方應用程序集成,則不應讓他們與您的數據庫進行交互。例如,爲他們提供一個通過json讀取/寫入數據的Web服務。通過這種方式,您可以更改數據庫模式並控制第三方應用程序。

+0

好吧,這很公平。沒有想到 - 所以我寫的Symfony/Doctrine對象將成爲數據庫的唯一接口。很酷!謝謝.. – deebugger 2011-04-08 12:09:08