ACICRUD

Automatic CodeIgniter Create Read Update Delete

world_go See this page in english.

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 CRUD 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. Depuis la version 1.1, Acicrud supporte la connexion multiple à plusieurs bases de données.

Menu

  1. Présentation
  2. Licence
  3. Installation
  4. Principe de fonctionnement
  5. Description des méthodes
  6. Tutoriels
  7. Résolution d’erreurs
  8. Téléchargement / Download
  9. 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 à https://nukium.com/.

Creative Commons License

Installation

ACICRUD nécessite PHP 5 ainsi que CodeIgniter 1.6.3 minimum (non testé sous version antérieure). La librairie est également pleinement compatible avec CodeIgniter 2.0.x.

L’installation de la librairie ACICRUD est classique, en effet elle s’installe comme n’importe qu’elle librairie CodeIgniter :

  1. Téléchargez l’archive
  2. Décompressez le fichier Acicrud.php dans le répertoire libraries de votre application (/application/libraries)
  3. Ajoutez Acicrud à la liste des librairies auto-chargées via l’autoloader (facultatif)
  4. 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(mixed $id) : Lis une ligne en base de donnée identifiée par son identifiant, retourne un objet fidèle à la ligne. Depuis la version 1.1, cette méthode accepte également un tableau associatif à la place d’un identifiant numérique permettant ainsi de lire une seule entrée avec une clause WHERE personnalisée.
  • 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 getBy(mixed $by, mixed $value) : Retourne les éléments possédant le champ $by à la valeur $value. Cette méthode permet par exemple de lire des entrées sur un champ autre que la clé primaire.
  • 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(array $where) : Retourne le nombre de lignes de la table. Un tableau associatif peut être fournit à la méthode permettant ainsi d’utiliser une clause WHERE personnalisée.
  • 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

  1. Installation et création d’un modèle
  2. Lire facilement des données avec Acicrud
  3. Insérer des données avec Acicrud
  4. Supprimer des données avec Acicrud
  5. Ajouter des custom methods à vos modèles
  6. Utiliser plusieurs bases de données

Résolution d’erreurs

  1. Call to a member function result_array() on a non-object in /system/database/DB_driver.php on line 837

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é ascendante é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.

Feedback

N’hésitez pas à poster vos impressions, vos remarques, ou vos demandes d’ajout de fonctionnalités.

ico-contactCONTACT

Besoin d’informations, envie de nous rencontrer ?
Pour tout projet ou demande de partenariat, n’hésitez pas, contactez-nous !

Veuillez laisser ce champ vide.

Adresse : 134 Avenue de Palavas
Les Bureaux d'Olympie - Bat B
34070 Montpellier - France
Mentions légales

Nukium © 2012 - 2017 Tous droits réservés.