La bibliothèque ORM de Kohana est simple à utiliser et à configurer, ce qui la rend idéale pour la plupart des projets de petite et moyenne taille. Doctrine et Propel sont excellents, mais nécessitent plus de prise de décision à faire d'avance car ils utilisent la génération de code (probablement pas le meilleur choix pour un projet d'école). Ils sont tous les deux plus flexibles (tonnes d'options de configuration) que l'ORM de kohana ou de l'allumeur de code, mais ils ont une courbe d'apprentissage plus raide et impliquent beaucoup plus de configuration (lire à propos de 'convention vs configuration').
Un exemple de ORM de Kohana 3:
// Model definition file - /classes/model/animal.php
class Model_Animal extends ORM
{
/* Find all animals that bark */
public function barking_animals()
{
return $this->where('sound', '=', 'barker')->find_all();
}
/* Find all animals that quack */
public function quacking_animals
{
return $this->where('sound', '=', 'quack')->find_all();
}
}
// In some controller file somewhere...
$loudAnimals = ORM::factory('animal')->barking_animals();
// don't rent an apartment if you're neighbors have any of these animals...
foreach ($loudAnimals as $animal)
{
echo $animal->name;
}
// add a new animal to db
$newAnimal = orm::factory('animal');
$newAnimal->name = 'Obese Cat';
$newAnimal->weight = '30lbs';
$newAnimal->sound = 'fat quack';
$newAnimal->save();
Enfin, quelques documents de référence ... http://kohanaframework.org/guide/tutorials.orm
Il y a beaucoup là-bas, mais la doctrine semble être le plus largement utilisé. Il est également utilisé par le projet Symfony qui est l'un des frameworks web PHP les plus populaires. – Chestone