Introducing dORM. A new kind of PHP object relational mapper.

dORM is a PHP object relational mapper which I have written with the goal of completely abstracting SQL, while keeping the power and flexibility of relational databases.

It implements multiple software design patterns such as Unit of Work, Identity Map, Lazy Load, Foreign Key Mapping, Association Table Mapping, Metadata Mapping and Data Mapper. Special thanks to Martin Fowler’s Patterns of Enterprise Application Architecture which greatly inspired me.

I am looking forward to get feature requests and some feedback from the PHP community. Hope you enjoy this piece of code and that it will help you focus on business logic.

I am currently working on a screencast that will showcase a simple application written with dORM. I’ll post an article here as soon as it is available.

Leave your comments below !

8 Responses to “Introducing dORM. A new kind of PHP object relational mapper.”

  1. ArianaRoff says:

    I will leave a reply as soon as I try it Thank you

  2. pl0sh says:

    Congrats olivier your project is taking form so fast.

  3. Ivan says:

    Hello Olivier,

    I must say I really like what you’ve done here. It is the perfect solution which I have been looking for for quite some time now.

    I have one question. Putting the database info in an xml … isn’t that a security hazard?
    I guess this file needs to be placed outside the public domain?

    Keep up the good work! I am looking forward seeing the commercial license. Once dorm is stable I will be using it a lot!

  4. admin says:

    @Ivan Thanks for your interest. I am working hard on the next release and I believe it will be a big step forward with new interesting features such as prefetching and a class for making custom SQL queries.

    Concerning the XML file, you are right that it should not be accessible from a web browser. One option would be to put it outside your document root or to protect it with an .htaccess. Thanks for pointing that out, I will put a notice somewhere in the documentation.

  5. Bruno Cassol says:

    Seems to be a great piece of code! I’ll give some feedback as soon as I test it.

    By the way, i’d love to know what tool you use to generate those cute tables here:

    http://www.getdorm.com/images/crashcourse/schema.jpg

    Kudos!

  6. KrisBelucci says:

    Hi, good post. I have been wondering about this issue,so thanks for posting. I’ll definitely be coming back to your site.

  7. admin says:

    @Bruno The software for generating the database schema is SQL Maestro for MySQL

    http://www.sqlmaestro.com/products/mysql/maestro/

  8. Hi, good post. I have been wondering about this issue,so thanks for posting.

Leave a Reply