ORM Codeigniter ORM
CodeIgniter possède un ORM (Object-Relational Mapping) intégré appelé CodeIgniter Model. Bien qu'il ne soit pas aussi avancé ou complet que d'autres ORM tels que Doctrine ou Eloquent utilisés dans Symfony et Laravel respectivement, il offre néanmoins une interface simple et efficace pour interagir avec les bases de données.
Voici quelques caractéristiques clés de l'ORM de CodeIgniter :
Modèles
- Les modèles dans CodeIgniter représentent et gèrent les données de votre application. Ils sont responsables de l'interaction avec la base de données, de l'exécution des requêtes, et de la manipulation des résultats retournés.
Fonctionnalités de base
- CRUD: Les opérations de base comme Create, Read, Update, et Delete sont facilement gérables avec des méthodes intégrées.
- Requêtes Builder: CodeIgniter fournit un Query Builder qui permet de construire des requêtes SQL de manière programmatique et sécurisée.
- Validation des données: Les modèles peuvent automatiquement valider les données en utilisant les règles de validation définies dans le modèle.
- Soft Deletes: Au lieu de supprimer des enregistrements de la base de données, vous pouvez les marquer comme supprimés tout en les conservant dans la base de données.
Limitations
- L'ORM de CodeIgniter est relativement simple comparé à d'autres frameworks. Il ne prend pas en charge certaines fonctionnalités avancées comme les relations complexes entre les modèles (par exemple, les relations many-to-many), l'héritage de table, ou les mappages d'objets complexes.
- Pour des besoins ORM plus avancés, vous devrez peut-être intégrer un ORM tiers dans votre application CodeIgniter, comme Doctrine ou Eloquent.
Utilisation
Voici un exemple simple de la façon dont vous pourriez utiliser un modèle dans CodeIgniter :
<?php namespace App\Models;
use CodeIgniter\Model;
class MonModel extends Model
{
protected $table = 'ma_table';
protected $primaryKey = 'id';
protected $allowedFields = ['nom', 'email', 'age'];
// Autres configurations et méthodes...
}
Dans ce modèle, vous pouvez définir la table de base de données, la clé primaire, et les champs que vous souhaitez rendre accessibles pour les opérations CRUD.
En résumé, l'ORM de CodeIgniter est bien adapté pour des applications nécessitant une couche d'abstraction de base de données simple et efficace. Pour des besoins plus complexes, envisagez d'utiliser un ORM externe plus robuste.