29

我正在使用同时提供 ORM 和 DBAL 的 Doctrine。

它们之间有什么区别?

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

4

1 回答 1

41

DBAL (DataBase Abstraction Layer)是一款简化与 SQL 数据库交互的软件,允许您使用它们而不必担心不同 DBMS 供应商的特定方言或差异它基本上允许您对 DBMS 运行 SQL 查询,而无需编写供应商特定的 SQL。

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

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

于 2013-02-28T09:06:34.837 回答