Propel 1.3 uses PDO instead of Creole

In a move to increase performance and take advantage and support new PHP features, Propel 1.3 uses the native PDO database abstraction layer. This change has a number of implications, particularly for those who are executing SQL directly. PDO’s API is loosely similar to Creole’s, so this change shouldn’t require any major re-architecture.

New Features

The new features in Propel 1.3 that will affect upgrading are:

  • New PHP minimum requirements
  • Use of PDO instead of Creole
  • New DSN format for build and runtime properties
  • New transaction API
  • Some method signature changes
  • mysqli adapter is obsolete & has been removed
  • New SPL autoload integration
  • Some API changes for extending classes.

Symfony 1.2

Propel 1.3 will be the default version of Propel bundled with Symfony 1.2. If you can’t switch to Propel 1.3 for whatever reason, you will still be able to use Propel 1.2 by installing the sfPropelPlugin.

DbFinder plugin

The DbFinderPlugin is a symfony plugin that provides an easy API for finding Model objects, whether the underlying ORM is Propel or Doctrine. The idea behind this plugin is to write queries to retrieve model objects through an ORM, but fast. Inspired by Doctrine, Rails has_finder plugin and SQLAlchemy, DbFinder can be seen as “jQuery for symfony’s model layer”. It also aims at putting the things in the right order, meaning that writing a find() query will feel natural for those familiar with SQL.

Related article: The ORM isn’t important anymore

Advertisements

3 thoughts on “Propel 1.3 uses PDO instead of Creole

  1. Pingback: Pedro Trindade

  2. The one thing I didn’t like about the DbFinderPlugin is that it’s an abstraction layer for abstraction layers. I wasn’t sold on the extra layer of complexity.

  3. Pingback: Mrasnika’s Lair

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s