orm和pdo之间的区别

时间:2012-05-10 00:58:29

标签: php orm

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

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

2 个答案:

答案 0 :(得分:29)

PDO和ORM是完全不同的两件事。

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

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

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

答案 1 :(得分:8)

不,他们是不同的东西。

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

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