Quote from: davidm at May 05, 2006, 04:08 AM
@Raymond : I thought Jason had dropped Propel for PDO for performance related issues with Propel, am I wrong ?
I didn’t drop Propel; it is still powering the Tattoo core code I’ve written, waiting for me to get time or money to decide on final approaches to ORM with PHP 5 only (I’m very interested in and following both CodeIgniter and a new PDO-based ORM solution called PHPDoctrine (
http://phpdoctrine.com/). In the meantime, my experiences using Propel to develop Tattoo inspired me to start a slightly different approach to database and query abstraction, using PDO and targeting PHP 4 and 5. And I think it’s gonna knock people’s socks off (geeks anyway) when I reveal it.
I just finished my initial commits of code for the new project, which I am going to term an ORB (object-relational bridge), and which is going to be released under a BSD license, and made available as a standalone system to enable the development of PHP database applications that work in PHP 4 and 5, can be optimized for each specific database platform you want to support, and takes advantage of native PDO extensions when available, falling back to non-native PDO implementations only when they are not available.
The official project name I have chosen is OpenExpedio, which was derived from "open-source extensions to persistent data objects", though I will refer to the project by it’s short name/acronym, XPDO. You can track some of my progress at
http://xpdo.org/ or contact me if you are interested in testing it out before I officially announce the project, or contributing to the code efforts. Current status is I just completed getting the first 13 unit tests to pass in three different environments, and am now on to working on a new feature task to add full cascading delete support to composite foreign key relationships, as well as considering my possible approaches to automated class generation, schema change handling, and extending XPDO objects.
PHP 5.1.1/MySQL 5.0.18 with native PDO
PHP 5.0.4/MySQL 5.0.14 without PDO
PHP 4.4.2/MySQL 5.0.14 without PDO
Did I mention I love unit testing!!! Thanks Victor for kickstarting me back into this. I forgot how much I missed it until Victor and I installed PEAR::PHPUnit2 for testing this stuff on 5.1.x+. And it was cake (no framework pun intended, yet) to convert the unit tests from PHPUnit2 to SimpleTest as well, which supports PHP 4.3+ and 5.0.x testing, and integrates with my development environment in the form of an Eclipse plugin (yah!). SimpleTest is really impressing me, and may come in indispensable for MODx 1.0 development. Dare I say, better get familiar with SimpleTest and the principles of test-first development if you want to contribute. See
http://www.lastcraft.com/simple_test.php for a little introduction and background on what SimpleTest is and might mean to core development.
Cheers, and I’ll have the next MODx 1.0 Lesson available within in the next week or so.