Drew Hates Propel
I’ve wasted the best part of three days, and valuable developmnt time, trying to get Propel to work on my local web server (read: installation of AppServ on a partition other than C:).
For those not in the know, Propel is supposed to be a "object relational mapping" framework, which basically means you can access databases using objects instead of typing SQL. My current workplace uses it in their e-commerce solution, managed by some Unix geeks.
I was particularly excited about using it in my own project: I’ve embarked on a mission to create a portfolio solution, codenamed Foley. I was also thrilled that I’d finally been able to install and use the mysterious PEAR, though there was next to no information about how to do it in AppServ. I wasn’t too happy, however, with the business of trying to find where things had been copied to and how to use them.
Along came Propel, with its shitty documentation, and the horror began. (The documentation wasn’t entirely shitty, but bad enough.)
First and foremost, they mention having to build a build.properties file for your project. Rather awkwardly, they don’t have any.documentation on other, equally bits of important information you could include in the file. Eventually, I found out that there were default definitions lurking in some other folder.
You have to enable a couple of DLLs in php.ini (pdo and xsl). Only after messing around with the configuration files and some frantic searching did I find out that you have to add another one to the list (php_pdo_mysql, if you use MySQL databases) as well. Finally, my schema was turned into classes.
Then came the final nail in the coffin; trying to use the damn thing,
Initially the example given on the Propel Quickstart page didn’t work for me: I had an error message saying that the Propel class wasn’t found. It turns out that giving the right paths to the scripts was so important, it required using set_include_path(). So I added the relevant path to the function (the path to Propel.php) and included it as required.
On the next try, it told me that ‘Clss Item not found)…
Couldn’t be bothered to finish this rant. I’m using something else now.


No comments yet. Be the first to comment this post.