Propel ORM! Cross the relational bridge to the object-oriented wonders!
Propel is a full-service object persistence and query toolkit for PHP. It allows you to access your database using a set of objects, providing a simple API for storing and querying data. You might already have heard of this technique, but under a different name, like Data Access Objects (DAO) or Object Relational Mapping (ORM). It's a port of Apache Torque (see links section below).
// example using business objects
$b = new Book();
$b->setTitle("War & Peace");
$b->save();
// "peer" class is static class that handles things like queries
$c = new Criteria();
$c->add(BookPeer::TITLE, "War%", Criteria::LIKE);
$c->setLimit(10);
$books = BookPeer::doSelect($c);
foreach($books as $book) {
}
<?xml version="1.0" encoding="ISO-8859-1"?>
<database name="bookstore">
<table name="book">
<column name="book_id" type="INTEGER" required="true" primaryKey="true"/>
<column name="title" type="VARCHAR" size="50" required="true" />
</table>
</database>
</code>