在Symfony中使用存储过程 - 优点和缺点

时间:2011-04-07 20:54:23

标签: php stored-procedures symfony1 doctrine

我是第一次在Symfony写一个Web应用程序,所以我对使用Doctrine和Stored Procedures有疑问。

我的背景是Java服务器端,因此我想知道使用存储过程的优缺点,而不是使用简单的Doctrine代码来完成任务。在最基本的层面上,假设我的Symfony Web应用程序用于管理,而另一个引擎(可能会或可能不会写为Symfony组件,或者根本不在PHP中编写),它从数据库中检索配置分布或诸如此类的。在这里,我可以看到存储过程可能很方便的地方:两个代码库都使用它们来查询和访问数据,而两者都没有专注于实际的模式。如果对模式进行了更改(例如在某个表中添加了一个列),那么我只需要更改SRPOC,而不是其他任何内容,而如果我在两个引擎中都使用代码来访问数据,那么d必须更改它们以匹配新架构。

有何评论?或者我把它拉得太远了?

谢谢! -dbg

1 个答案:

答案 0 :(得分:2)

如果不使用doctrine,则会丢失数据库抽象和对象映射。这是一个重大损失。如果您需要第三方应用程序集成,则不应让它们与您的数据库进行交互。相反,例如,为他们提供Web服务以通过JSON读/写数据。这样,您可以更改数据库架构并控制第三方应用程序。