ORM和PDO之间的区别


difference between orm and pdo

我对ORM和PDO之间的区别有点困惑?
PDO是一种ORM吗?

根据我的理解,ORM基本上是一种数据映射,PDO还为数据库数据提供了抽象。

PDO和ORM是两个完全不同的东西。

PDO是数据库访问抽象层的特定实现,它使您能够使用在不同数据库后端(例如MySQL,PostgreSQL,MS SQL等(中保持一致的API连接,运行SQL并从数据库中检索结果。

另一方面,ORM是更专业的东西:它是一个框架,用于将关系表映射到应用程序域对象以及它们之间的关系。这些通常建立在 DAL 等 DAL 之上。

若要查看差异,请考虑必须检索对象或记录。使用 PDO,您需要编写 SQL 以在正确的表中选择正确的行,并具有提取该行并将字段映射到 PHP 对象的变量的逻辑。作为用户,您必须处理所有这些。另一方面,对于ORM,你只需说:通过这个ID给我找到对象X,ORM会发挥它的魔力并给你那个对象,而不必你自己编写SQL。

不,它们是不同的东西。

PDO是连接到SQL数据库的抽象层,因此您可以使用相同的代码来处理MySQL,PostgreSQL等。

ORM是将数据库实体映射到对象的概念。 Doctrine是PHP ORM框架的一个例子,它支持各种不同的数据库连接方式,其中之一是PDO。