Thursday, August 18, 2005

DataObject Smackdown

In the beginning there was a database connection library.

Developers looked down onto it from lofty heights, and ended up making rubbish. Over and over. Someone finally said, nuts to this, let's use postgres.

Uhm... shit, porting. Thus:
... were born. And useful. Patterns began to invade the scriptkiddy space, though they didn't know it. Porting was said to be easy, but no one really used it. They did, however, like being able to set up basic configuration and just make it work - clean looking code, ooh.

For me, it was ADODB and PEAR::DB that lead me onto the OOP circuit for PHP. I went off and learnt Java and you know, turned 17 and such. Going back, I saw how wonderful PEAR was in theory - I threw out everything else and started using PEAR::DB.
Alot.
It's been a beautiful relationship. But after endlessly and unconciously adopting poor attempts at a good ORM/DAO pattern, it began to falter.
Now it's time for the next step up. Take other people's proven patterns and run with them.

The only question for me is, which do I choose?
What are the pros, cons, pitfalls and hidden costs which I can't see yet? Who's used what, and what was it like? Did you get stuck? Did it help you get stuff done faster?

1 comment:

Dan said...

After a bit of a play with DB_DataObject as a data exposure tool, I'm in love.

It's also given me a few ideas...