Automatic CodeIgniter Create Read Update Delete
ACICRUD, est une librairie pour CodeIgniter permettant de s’affranchir de la création de modèles dans la plupart des cas.
En effet, ACICRUD fournit une collection de méthodes permettant de sélectionner, insérer, modifier, supprimer des éléments en base de données ainsi que d’autres fonctions utiles au développement d’un site web.
Concrètement, ACICRUD permet de s’affranchir du développement des méthodes classiques d’un modèle pour CodeIgniter.
Menu
- Présentation
- Licence
- Installation
- Principe de fonctionnement
- Description des méthodes
- Tutoriels
- Téléchargement / Download
- Feedback
Licence
ACICRUD by Samuel Sanchez est mis à disposition selon les termes de la licence Creative Commons Paternité-Pas d’Utilisation Commerciale-Partage des Conditions Initiales à l’Identique 3.0 France.
Les autorisations au-delà du champ de cette licence peuvent être obtenues à http://www.kromack.com/.
Installation
ACICRUD nécessite PHP 5 ainsi que CodeIgniter 1.6.3 minimum (non testé sous version ultérieure).
L’installation de la librairie ACICRUD est classique, en effet elle s’installe comme n’importe qu’elle librairie CodeIgniter :
- Téléchargez l’archive
- Décompressez le fichier Acicrud.php dans le répertoire libraries de votre application (system/application/libraries)
- Ajoutez Acicrud à la liste des librairies auto-chargées via l’autoloader (facultatif)
- C’est terminé ! Vos modèles peuvent désormais étendre la classe Acicrud.
Principe de fonctionnement
ACICRUD peux être vu comme un « meta modèle » pour CodeIgniter, en effet la librairie hérite de la classe Model de CodeIgniter. C’est pourquoi vos modèles ne devront plus hériter de la classe Model mais de la classe Acicrud.
Attention, pour utiliser ACICURD, vos tables SQL doivent obligatoirement être en première forme normale.
Description des méthodes
Voici une description (en cours de rédaction) des principales méthodes de la classe. La plupart de ces dernières lèvent des exceptions en cas d’erreur.
- Object read(int $id) : Lis une ligne en base de donnée identifiée par son identifiant, retourne un objet fidèle à la ligne.
- Object readLast() : Tente de lire la dernière ligne en base de données et retourne un objet fidèle à la ligne.
- int create(Object $o) : Créée une ligne en base de données à partir d’un objet fidèle à la ligne. Il n’est pas nécessaire de définir tous les attributs de la table dans l’Objet. Retourne l’identifiant numérique de la ligne insérée.
- void delete(int $id) : Supprime une ligne en base de données à partir de son identifiant.
- void update(Object $o) : Met à jour une ligne en base de données à partir de son objet fidèle, peux être appelé après read() sans fournir la valeur de l’identifiant (clé primaire) dans l’objet.
- mixed getAll(int $limit = null, array $order = null, array $where = null) : Retourne une collection de lignes issues de la base de données. Peut optionellement limiter le nombre de résultats et les trier sur un champ et une direction spécifique. Effectue également les clauses WHERE si $where est fournit.
- mixed get(mixed $what, int $id) : Retourne un champ identifié par son nom ainsi que par l’id de l’élément en base de données.
- mixed getter(mixed $what) : Accesseur classique, permet de récupérer la valeur d’un champ après avoir read() un élément.
- int countAll() : Retourne le nombre de lignes de la table.
- int lastId() : Retourne l’id du dernier enregistrement effectué par la base de données.
- int getMaxId() : Retourne la plus grande valeur de la clé primaire utilisée par la table ou 0 si la table est vide.
- void checkId(int $id) : Vérifie que la valeur d’une clé primaire existe bien en base de données. Lève une exception CHECK_ID_TABLE_FAILLURE en cas d’échec.
- Collection result() : Exécute une requête Active Record et retourne une collection d’Objets résultats.
- Object row() : Exécute une requête Active Record et retourne un d’Objet résultat.
- Void debug(Boolean $executeQuery = true, Boolean $die = true) : Stoppe l’exécution du script et affiche la dernière requête effectuée par la base de données.
Tutoriels
- Installation et création d’un modèle
- Lire facilement des données avec Acicrud
- Insérer des données avec Acicrud
- Supprimer des données avec Acicrud
- Ajouter des custom methods à vos modèles
Téléchargement / Download
La librairie est désormais en version stable, elle est actuellement utilisée en production sur plus d’une quinzaine d’applications.
La compatibilité ascendente étant assurée, pour mettre à jour Acicrud à partir d’une ancienne version, il vous suffit de remplacer le fichier Acicrud.php de votre application par la nouvelle version.
- 2009-12-30: Acicrud-86ef21a05a4c9697ae01fb9b17736ef24704cbf8.zip – Changelog
- 2009-05-17 : Acicrud-81c77e249d3852ab7e04580955410e61c89d7d34.zip
- 2009-05-08 : Acicrud-5b2f33362f587cc3c253846bf776dc409ee8f158.zip
Feedback
N’hésitez pas à poster vos impressions, vos remarques, ou vos demandes d’ajout de fonctionnalités.


1 Commentaire
Trackback & Pingback
Réagir à ce billet :