对象关系映射与数据库抽象层

时间:2013-02-28 04:42:36

标签: orm doctrine-orm doctrine dbal

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

他们之间有什么区别?

如何决定何时使用哪个?

1 个答案:

答案 0 :(得分:31)

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

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

您可以在DBAL documentationORM documentation上找到有关此主题的更多信息。