Las novedades de Propel 1.3 (primera parte)

Propel es el ORM de Symfony, es decir, el componente que se encarga del acceso a la base de datos y el que permite la portabilidad y la abstracción con la base de datos. La próxima versión 1.3 de Propel va a traer muchas novedades y en los próximos días vamos a descubrir algunas de las más importantes.

En primer lugar, Propel 1.3 requiere PHP 5.2 con las siguientes extensiones cargadas: XSLT (libxslt), DOM (libxml2), SPL (activada por defecto en la mayoría de distribuciones de PHP) y PDO con el soporte de la base de datos utilizada (MySQL, MS SQL Server, PostgreSQL, SQLite, Oracle).

Este último requisito (PDO) se debe al cambio más importante de la nueva versión de Propel: el uso de PDO en vez de Creole para la capa de abstracción de bases de datos.

El uso de PDO permitirá mejorar el rendimiento y aprovechar algunas de las nuevas características de PHP. La sustitución de Creole se notará sobre todo si se utiliza código SQL directamente, ya que las aplicaciones requerirán algunos cambios para seguir funcionando correctamente. También será obligatorio utilizar DSN con el formato de PDO para configurar las conexiones con las bases de datos.

Otro de los cambios introducidos por PDO es el método PDO->beginTransaction() en vez del tradicional Connection->begin() para realizar las transacciones con la base de datos.

Hasta ahora, las transacciones en Symfony se realizaban mediante los métodos de Creole:

$con->begin();
try {
  /* código */
  $con->commit();
} catch (SQLException $sqle) {
  $con->rollback();
  throw $sqle;
}

Ahora, las transacciones se realizan con los métodos de PDO:

$con->beginTransaction();
try {
  /* código */
  $con->commit();
} catch (PDOException $sqle) {
  $con->rollback();
  throw $sqle;
}

Aunque todavía no se ha definido la fecha en la que Symfony incluirá la versión 1.3 de Propel, es necesario ir conociendo las novedades y cambios que implicará la nueva versión. En los próximos días mostraremos más novedades de Propel 1.3

Fuente: Upgrading to Propel 1.3

Comentarios

  1. There's a method that's incorrect here. It's $con->rollback(), not $con->rollack(). Otherwise (despite my non-existent Spanish skills) this looks like a great resource!

    halfer el 27 de agosto de 2008, 12:17:07

  2. halfer, thanks for noticing this bug. It's fixed now.

    In respect to your spanish skills, it's never too late to learn another language ;)

    Javier Eguiluz el 27 de agosto de 2008, 14:57:20

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Publicada el

6 de marzo de 2007

Etiquetas

Proyectos Symfony destacados

La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.