News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Francois Zeninotto's Blog:
Comparing Propel, Doctrine and sfPropelFinder
July 09, 2008 @ 10:24:59

Francois Zeninotto has posted a comparison of three different ORM (Object Relational Mapping) layers for PHP - Propel, Doctrine and sfPropelFinder (the last being a plugin of the symfony framework).

When it comes to ORMs, it's all a matter of preference. Is it, really? This post compares side-by-side the code required to perform some simple operations with three OO database requesting API. The purpose is to demonstrate that productivity, and not only style, can vary a lot depending on the ORM you choose.

He's worked up a long list of examples including methods to:

  • Retrieving an article by its primary key
  • Retrieving the latest 5 articles
  • Retrieving articles based on a complex AND/OR clause
  • Retrieving articles authored by people of a certain group
  • Retrieving an article and its category by the article primary key
  • Retrieving articles and hydrating their author object and the author group

Each one comes with their own (usually simple) code. His conclusions point out different "bests" of each - like sfPropelFinder being the "most magic" and that some of the limits of Propel are very frustrating.

0 comments voice your opinion now!
compare orm layer doctrine propel sfpropelfinder symfony framework


blog comments powered by Disqus

Similar Posts

Imulus.com: CakePHP and PRADO

Cody Caughlan's Blog: Database Migrations for PHP5

Tobias Schlitt's Blog: Tim Bray compared Java, Ruby and PHP

Paul Jones' Blog: Universal Constructor Sighting "In The Wild"

Francois Zaninotto's Blog: Chapter 10 - Forms


Community Events





Don't see your event here?
Let us know!


language configure wordpress unittest list api threedevsandamaybe series homestead introduction developer application install release library interview podcast code community laravel

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework