对象关系映射(ORM)与数据库抽象层(DAL)

34

我正在使用Doctrine,它提供了ORM和DBAL。

它们之间有什么区别?

应该如何决定何时使用哪个?

1个回答

48
DBAL(数据库抽象层)是一种软件,简化了与SQL数据库的交互,允许您在不担心不同DBMS供应商的特定语言或差异的情况下使用它们。基本上,它使您可以在不编写特定于供应商的SQL的情况下运行针对DBMS的SQL查询。

ORM(对象关系映射器)是一种工具,给您以使用表示为对象图形的内存数据结构的印象,并带有相关对象。它通过将所有SQL移除并将其抽象化为OOP逻辑来简化与SQL操作相关的应用程序逻辑。Doctrine 2 ORM只处理POPO(Plain Old PHP Objects)的加载和持久化。

您可以在DBAL文档ORM文档中找到更多关于此主题的信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接