Contrairement à PHP_UML, Dorm n’appartient pas à un framework. On peut donc directement l’utiliser dans une application PHP, en incluant le fichier Dorm.php.
En revanche, il faut préalablement installer, soit MDB2, soit ADOdb, selon la couche d’abstraction que vous voulez utiliser avec l’ORM.

Téléchargement

Exemple simple


Et voici le fichier de configuration dorm-mapping.xml :

<?xml version="1.0"?>
<dorm-properties>
  <class name="User" table="User">
    <property name="id" index="primary" column="id"/>
    <property name="first_name" column="first_name"/>
    <property name="last_name" column="last_name"/>
  </class>
</dorm-properties>
Remarquez comment vous faîtes correspondre à la classe User la table User, et à la propriété first_name la colonne first_name.

Voici le code source :

<?
require_once 'PEAR/Exception.php';
require_once 'MDB2.php';
require_once 'MDB2/iterator.php';
require_once 'dorm.php';

$mdb2 = MDB2::connect('mysql://...');

// Dorm initialization
Dorm::bind(
  new Dorm_Model('dorm-mapping.xml'),
  Dorm_Session::factory($mdb2)
);

// Definition of the PHP class
Class User {
  public $id;
  public $first_name;
  public $last_name;
}

// Insert
$u = new User;
$u->first_name = 'Robinson';
$u->last_name = 'Crusoe';
Dorm::create($u);
echo "The inserted id was ".$u->id;

// Retrieval
$set = Dorm::select("User", "WHERE last_name LIKE 'Cru%'");
foreach($set as $user)
  echo '<br/>'.$user->first_name.' '.$user->last_name;
?>