Blog de Gonzalo

Blog de programación de Gonzalo López

ORM EN PHP

PHP

Los frameworks en php usan orm, siglas de Object Relational Mapping, a la hora de operar con bases de datos, aunque también se pueden usar de manera independiente, sin ningún framework de por medio. Un orm es una herramienta que permite mapear, convertir los objetos de una aplicación a un formato adecuado para ser almacenados en cualquier base de datos.

¿Cómo funciona un ORM?

Loa ORM realizan las siguientes tareas fundamentales para operar con las bases de datos:
  • Mapeo de objetos a tablas: Cada clase en el código se asocia con una tabla en la base de datos. Las propiedades de la clase se asignan a las columnas de la tabla.
  • Gestión de relaciones: Los ORM pueden gestionar las relaciones entre objetos y tablas, como relaciones uno a uno, relaciones uno a muchos o relaciones muchos a muchos.
  • Generación de consultas SQL: Los ORM generan consultas SQL en función de las operaciones realizadas en objetos. Esto significa que los desarrolladores no tienen que escribir SQL manualmente.
  • Seguridad y validación: Los ORM a menudo proporcionan mecanismos de seguridad y validación para proteger contra ataques comunes, como inyección de sql.

Ventajas del ORM en PHP

  • Abstracción de base de datos: Los desarrolladores no necesitan preocuparse por los detalles específicos del motor de base de datos. Esto hace que se puedan usar diferentes bases de datos indistintamente por el uso de PDO.
  • Productividad: La generación automática de consultas y la administración de relaciones ahorra tiempo y esfuerzo en el desarrollo.
  • Seguridad mejorada: Los ORM proporcionan mecanismos para prevenir ataques de inyección SQL y otros problemas de seguridad.
  • Sostenibilidad: El código es más limpio y estructurado.

ORM en PHP: Ejemplos populares

El siguiente listado son algunos de los ORM de php más populares:
  • Eloquent: Eloquent es el ORM incluido en Laravel.
  • Doctrine: Doctrine es un ORM se usa en varios frameworks php como Zend o Symfony.
  • Propel: Propel También usado en Symfony, aunque en Symfony siempre he usado doctrine.
  • RedBeanPHP: RedBeanPHP es un ORM ligero y fácil de usar que es ideal para proyectos pequeños o medianos.

Los orm que mas he usado han sido doctrine, sobre todo, y eloquent. Propel lo use hace muchos años en un proyecto y no lo he vuelto a usar.

Compartir en twitter