An Introduction to EZPDO

Overview

Motivation

Object-relational mapping (ORM) is useful in developing both Web-based and non-Web-based applications.

Many of us in desperate search for good ORM tools for PHP end up finding existing PHP persistence packages are either insufficient to address the problems we face, or unnecessarily complex that demand a steep learning curve that not many of us are able or willing to afford. And most importantly, we don’t see the existing tools providing satisfactory solutions that can work with existing code and/or databases. This is what got us started to work on an alternative.

The goal of this project is to design a lightweight and easy-to-use persistence solution for PHP. This is how the project got its name, Easy PHP Data Objects (EZPDO). Simplicity is the key. Constantly we keep the following requirements in mind when designing EZPDO.

  • It requires zero SQL knowledge1) and a minumum amount of effort in ORM specification.
  • It should work with existing classes and does not alter the source code.
  • It should only introduce overhead to a minimum to guarentee performance.


EZPDO is also a test-driven project with continous integration. More on that in developer's guide.

Features

Here is a quick look at the features in EZPDO before you delve into any details.

  • Minimum SQL knowledge required
  • Requires minimum ORM specification
  • No Phing! No need of explicit command line compile
  • Works with existing code and database
  • Has a small runtime core to guarentee performance
  • Handles 1:N, and M:N relationships automatically
  • Provides a simple runtime API
  • Supports object query (EZOQL)
  • Auto generates database tables
  • Test-driven with continuous integration

Licence

EZPDO is an open source project and uses the BSD license.

Quickstart

Let us start with a simple example (click here) to show you how easy it is to use EZPDO to persist and retrieve your objects.

You may also want to check out the tutorial that showcases more advanced features.

Wanna do more?

You have followed the simple example above and got the first taste of EZPDO. Easy, isn’t it? Want to do more with EZPDO? Follow the links below.

Installation

Tutorial

User manual

Developer's guide

FAQ

References

Contact

Need help, want to help, or have comments? Contact ezpdo4php [at] gmail [dot] com.

1) Please don’t get me wrong. I am not saying “Down with SQL!” :) Nothing wrong with having a solid knowledge of SQL. In fact, it helps you in many aspects if you have good SQL skills, especially when it comes to efficient object query, however most of the time with EZPDO you don’t need to simply because it takes care of interfacing with databases without you even knowing.

3 user comments

  1. EZPDO: Eazy PHP Data Objects » Blog Archive » DokuWiki + WordPress = dwBliki on March 3rd, 2005:

    […] cts A lightweight and easy-to-use PHP persistence solution « A Bliki made of WordPress and DokuWiki […]

  2. EZPDO: Eazy PHP Data Objects » Blog Archive » A Bliki made of WordPress and DokuWiki on March 5th, 2005:

    […] Was hoping to integrate DokuWiki into WordPress. Now after a day of hacking, this is what I currently have - a bliki if you may. Take a look at this (blog) and compare it with this (wiki). […]

  3. aperiodic one » Blog Archive » An Introduction to EZPDO on May 20th, 2005:

    […] « Possible PHP CMS additions An Introduction to EZPDO EZPDO is another great step towards my Dreamweaver dependancies. It’s soo hard to refrain from just popping […]

Post your comments

XHTML: tags you can use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Couldn't find your convert utility. Check that you have ImageMagick installed.