L’architecture de CodeIgniter

Publication le 13 mars 2010 par Geoff

Voici une présentation sommaire des différents répertoires composants la structure d’un projet CodeIgniter.

La structure initiale d’un projet CodeIgniter est donc celle-ci :

  • CodeIgniter |
    • system
      • application
      • cache
      • codeigniter
      • database
      • fonts
      • helpers
      • language
      • libraries
      • logs
      • plugins
      • scaffolding
    • user guide
    • index.php

system

Contient le code de l’application proprement dite hors mis index.php qui se contente de pointer vers le répertoire system

system/application

C’est le dossier dans lequel vous placerez le cœur de votre application, vos modèles, vos vues et vos contrôleurs. Vous travaillerez 90% du temps dans ce répertoire. Il est possible d’en créer un second pour gérer une autre application sous la même installation de CodeIgniter. Reportez-vous à la section Gérez Vos Application du guide utilisateur pour plus d’informations.

system/cache

C’est le répertoire utilisé par CodeIgniter pour gérer son système interne de cache. Vous pouvez choisir de mettre en cache certains types d’informations, gérer le temps d’expiration etc … Reportez-vous à la section La gestion du cache pour plus d’informations.

system/codeigniter

Il renferme le cœur du framework, les fonctions de bases. C’est fonctions sont écrites à la fois en PHP4 et PHP 5 (lorsque c’est possible) ce qui explique les deux fichiers Base4.php et Base5.php.

system/database

Contient toutes les fonctions nécessaires à la manipulation des données. Attention, il ne contient aucune table, aucun schéma mais uniquement les fonctions de manipulation. Reportez-vous à la section La Classe Database pour plus d’informations.

system/fonts

Vous permets de conserver vos polices si elles sont particulières.

system/helpers

C’est là où se range les helpers du framework. Les helpers sont des fonctions PHP qui prennent en charge certaines opérations ou certains comportements. Comme son nom l’indique elles sont là pour aider. Reportez-vous à la section Les Helpers pour plus d’informations.

system/language

Contient les différentes traductions des messages ou libellés utilisés par le framework. Par défaut ils seront tous en anglais, mais il existe une multitude de langues dont, bien évidemment, le français. Reportez-vous à la section La classe Language pour plus d’informations.

system/libraries

Ce répertoire est l’un des atouts de CodeIgniter. Il contient un ensemble très complet de classes et fonctions regroupées par thèmes et permettant d’implémenter aisément certaines fonctionnalités comme la validation des formulaires, l’encodage, un panier etc … Reportez-vous aux sections Utiliser les Bibliothèques de CodeIgniter et Créations de Bibliothèques pour plus d’informations.

system/logs

CodeIgniter permet de sauvegarder l’historique d’exécution via toutes sortes d’alertes, avertissements et erreurs. Il le fait ici.

system/plugin

Tous les plugins sont conservés dans ce répertoire afin de pourvoir facilement être réutilisés dans l’ensemble de l’application ou copiés vers une autre. Reportez-vous à la section Les Plugin pour plus d’informations

system/scaffolding

Contient le système de scaffolding de CodeIgniter qui vous permet d’obtenir des CRUD très rapidement fonctionnelles mais uniquement réservés au développement, pas à la production. Reportez-vous à la section Le Scaffolding pour plus d’informations

user guide

Contient la dernière version du guide utilisateur. Il est très détaillé et très complet. Il est inutile pour l’application à proprement parler, mais très utile pour vous.