Simplify Business Logic with PHP DataObjects
Subject:   Greetings from Perl!
Date:   2004-08-09 19:12:05
From:   aristotle
We've had a module for that called Class::DBI for nearly three years. :-)

The greatest part about it is that you can declare relationships between classes/tables by indicating that a certain column in your table either is a foreign key (has_a) or that your table's primary key is referenced from another one (has_many). All the joins will then happen behind the scenes and you can use simple accessors to navigate your relations.

There is also about half a million ways to specialize the behaviour of classes and instances in particular ways.

Kake Pugh wrote an article on O'Reilly's about How to avoid writing code using that module and a powerful templating system.