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

Hab*_*wad 22 orm doctrine doctrine-orm dbal

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

他们之间有什么区别?

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

Ocr*_*ius 32

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

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

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