simple example check php orm

example - propel php



diferencia entre orm y pdo (2)

Tengo un poco de confusión con respecto a la diferencia entre ORM y DOP?
¿Es la DOP una especie de ORM?

ORM según mi entendimiento es básicamente un tipo de mapeo de datos y PDO también proporciona una abstracción para los datos de la base de datos.


DOP y ORM son dos cosas completamente diferentes.

PDO es una implementación específica de una Capa de abstracción de acceso a bases de datos, le permite conectarse, ejecutar SQL y recuperar resultados de la base de datos con una API que sea consistente en diferentes backends de bases de datos (por ejemplo, MySQL, PostgreSQL, MS SQL, etc.)

Por otro lado, un ORM es algo más especializado: es un marco para mapear tablas relacionales a objetos de dominio de aplicación y relaciones entre ellos. Estos a menudo se construyen sobre DAL como PDO.

Para ver la diferencia, considere tener que recuperar un objeto o registro. Con PDO, necesitaría escribir SQL para seleccionar la fila correcta en la tabla correcta y tener lógica para extraer esa fila y asignar los campos a las variables de un objeto PHP. Tú como usuario tienes que ocuparte de todo esto. Por otro lado, con un ORM, simplemente diría: encuéntrame el Objeto X con este ID, y el ORM haría su magia y le daría ese objeto, sin que usted tenga que escribir el SQL usted mismo.


No, son cosas diferentes.

PDO es una capa de abstracción para conexiones a bases de datos SQL, por lo que puede usar el mismo código para trabajar con MySQL, PostgreSQL, etc.

ORM es el concepto de mapear entidades de base de datos a objetos. Doctrine es un ejemplo de un marco PHP ORM que admite varias formas diferentes de conectarse a bases de datos, una de las cuales es PDO.