Introduction:
Un ORM (Object-relational mapping) est utilisé dans la programmation orienté objet afin de créer virtuellement un modèle en se basant sur une base de donnée. Cela évite de devoir écrire les requêtes dans la base de donnée soit même, un vrai gain de temps.
Contexte:
Le framework CodeIgniter possède un modèle MVC (Modèle-Vue-Controleur). Pour la partie Modèle, il faut l’écrire quasi totalement bien que le framework prévoit les getters et setters automatiquement.
Voici une modèle véhicule:
class Vehicule extends CI_Model { var $color = “; var $model = “; var $price = “;function __construct(){ // Call the Model constructor parent::__construct(); } function get_last_ten_entries() { $this->load->database(); $query = $this->db->get('entries', 10); return $query->result(); }
Sur ce modèle, on a une requête sur la base de données qui nous renvoie les dix dernières entrées. Pour l’exemple je l’ai laissé ici bien qu’on puisse la placer dans le controleur. Imaginez avoir 15 fonction différentes avec des “WHERE” des “LIKE” et autres, comment faire pour en écrire le minimum et avoir des requêtes performantes.
Nous allons voir comment en faire autant avec l’ORM.