CodeStructure des dossiers, fichiers et répertoires d'Igniter
⚡ Résumé intelligent
CodeIgniter organise un projet PHP en dossiers prévisibles pour la logique applicative, les fichiers système du framework, les packages fournisseurs Composer et un script d'entrée unique, permettant ainsi aux débutants de localiser rapidement le code et aux développeurs intermédiaires de faire évoluer une structure MVC propre.

Comprendre la structure des fichiers dans CodeIgniter est essentiel avant de développer une application réelle. Une structure prévisible vous aide à localiser rapidement les contrôleurs, les modèles et les vues, à déboguer les problèmes de routage et à intégrer plus rapidement les nouveaux membres de l'équipe. Ce tutoriel couvre la structure classique. Codela structure d'Igniter 3, toujours largement déployée, et clarifie également les principales différences que vous rencontrerez dans CodeIgniter 4.x introduit app/, public/ et writable/ comme dossiers de niveau supérieur distincts.
Quel est le CodeStructure des fichiers et des répertoires d'Igniter ?
Le CodeLa structure de fichiers d'Igniter correspond à l'organisation par défaut des dossiers et des fichiers PHP fournis avec le framework après son téléchargement ou son installation. Elle sépare la logique de votre application du noyau du framework, isole les dépendances Composer et expose un point d'entrée unique via index.php. L'image suivante illustre cette structure de fichiers. CodeAllumeur :
Voici une arborescence de répertoires simplifiée pour un nouveau système. CodeInstallation d'Igniter 3 :
// CodeIgniter 3 root layout project-root/ ├── application/ ├── system/ ├── user_guide/ ├── vendor/ ├── composer.json ├── composer.lock └── index.php
Explication des dossiers de premier niveau
Examinons maintenant les fichiers ci-dessus. CodeStructure de l'allumeur :
- application – Ce répertoire contiendra la logique de votre application. Tout le code de votre application sera contenu dans ce répertoire.
- Système – ce dossier contient les fichiers de base du framework. Il n'est pas conseillé d'apporter des modifications dans ce répertoire ou de mettre votre propre code d'application dans ce répertoire.
- mode d'emploi – ce répertoire contient le manuel d'utilisation de Codeallumeur.
- vendeur Ce répertoire contient le code source des paquets Composer. Les autres fichiers associés à ce répertoire sont composer.json et composer.lock.
- index.php – c’est le point d’entrée dans l’application.
CodeSous-répertoires de l'application Igniter
Examinons maintenant les répertoires plus en détail. Comme mentionné précédemment, le répertoire de l'application contient le code de votre projet. Dans cette section, nous examinerons les sous-répertoires internes du répertoire de l'application. CodeStructure du répertoire Igniter :
- cachette – stocke les fichiers mis en cache générés par les bibliothèques de mise en cache de sortie et de base de données.
- config – conserve les fichiers de configuration tels que database.php, routes.php et autoload.php.
- le Edge Controllers – tous les contrôleurs d'application sont définis ici et mappés URL segments aux actions.
- core – Contient des classes de base personnalisées qui étendent les fichiers système. Par exemple, si vous créez un contrôleur de base dont d'autres contrôleurs doivent hériter, vous le placerez dans ce répertoire.
- aides – ce répertoire du CodeLa structure de dossiers d'Igniter est utilisée pour les fonctions d'assistance définies par l'utilisateur.
- crochets – utilisé pour les hooks personnalisés dans la structure de dossiers CI qui se déclenchent pendant le cycle d'exécution du framework.
- langue – utilisé pour stocker les fichiers de langue des applications qui utilisent plusieurs langues.
- bibliothèques – utilisé pour stocker des bibliothèques personnalisées.
- journaux – Les fichiers journaux de l'application sont conservés dans ce répertoire.
- numériques jumeaux (digital twin models) – Tous les modèles d'application doivent être définis dans ce répertoire.
- tierce personne – Ceci est utilisé pour les packages personnalisés que vous ou d'autres développeurs avez créés.
- vues – Les vues de l'application sont placées dans ce répertoire.
Voici un exemple d'arborescence des sous-répertoires de l'application :
// application/ subdirectories application/ ├── cache/ ├── config/ ├── controllers/ ├── core/ ├── helpers/ ├── hooks/ ├── language/ ├── libraries/ ├── logs/ ├── models/ ├── third_party/ └── views/
CodeSous-répertoires du système Igniter
Examinons maintenant les sous-répertoires système dans l'arborescence des fichiers CI. N'oubliez pas que c'est là que réside le code source du framework ; par conséquent, ne modifiez aucun fichier dans ce répertoire.
- core – c'est comme le cœur du CodeCadre IgniterTous les fichiers principaux constituant le framework se trouvent ici. Si vous souhaitez étendre les fonctionnalités d'un fichier principal, vous devez créer un fichier principal personnalisé dans le répertoire de l'application. Vous pourrez ensuite redéfinir ou ajouter les comportements souhaités. Il est fortement déconseillé d'effectuer des modifications directement dans ce fichier.
- base de données – Les pilotes de base de données, le cache et les autres fichiers nécessaires aux opérations de base de données sont fournis ici.
- polices – comme son nom l'indique, ce répertoire contient des polices de caractères et des informations relatives aux polices.
- aides – ce répertoire dans le CodeLe dossier de structure d'Igniter contient des fonctions d'assistance prêtes à l'emploi.
- langue – contient les fichiers de langue utilisés par le framework.
- bibliothèques – contient les fichiers sources des différentes bibliothèques fournies avec CodeAllumeur prêt à l'emploi.
L'organisation des dossiers système ressemble à ceci :
// system/ subdirectories system/ ├── core/ ├── database/ ├── fonts/ ├── helpers/ ├── language/ └── libraries/
CodeRépertoire du guide utilisateur d'Igniter
Ce répertoire sert de guide de référence pour ceux qui souhaitent comprendre CodeAPI Igniter. Il est déconseillé de télécharger ce répertoire lors du déploiement de votre application en production, car cela augmente sa taille et expose une documentation qui n'a pas sa place sur un serveur en production.
CodeRépertoire des fournisseurs d'allumeurs
Ce répertoire contient les fichiers sources des paquets installés via Composer. Il est impératif de ne pas modifier ces fichiers. Contrairement au répertoire `user_guide`, ce répertoire doit être téléchargé si vous utilisez des paquets Composer dans votre application.
Fichier index.php
Le fichier index.php dans le CodeLa structure de fichiers d'Igniter contient le code d'initialisation qui définit l'environnement, les chemins d'accès et la gestion des erreurs avant de passer le relais au framework. Ce fichier se trouve à la racine et sert de contrôleur frontal pour chaque requête HTTP entrante.
Comment CodeIgniter 4 modifie la structure
CodeIgniter 4.x a réorganisé l'arborescence pour améliorer la sécurité et le chargement automatique PSR-4. Au lieu d'un seul dossier d'application, vous trouverez désormais trois dossiers principaux qui séparent plus strictement les différents éléments :
- app / – équivalent à l'ancien dossier application/, contenant les contrôleurs, les modèles, les vues, la configuration, les filtres et les bibliothèques.
- Publique/ – le seul dossier accessible sur le web, contenant index.php et vos ressources CSS, JS et images.
- inscriptible/ – stocke le cache, les journaux, les sessions et les fichiers téléchargés dont le framework a besoin pour écrire lors de l'exécution.
- système/ – contient toujours le noyau du framework, organisé en espaces de noms sous CodeAllumeur\.
- vendeur/ – les packages Composer, identiques en termes de rôle à CI 3.
// CodeIgniter 4 root layout project-root/ ├── app/ ├── public/ ├── writable/ ├── system/ ├── vendor/ ├── tests/ ├── composer.json ├── env └── spark
Si vous démarrez un nouveau projet aujourd'hui, CodeIgniter 4 est la version recommandée. Si vous gérez une base de code plus ancienne, la structure CI 3 décrite ci-dessus correspondra à ce que vous voyez sur le disque.
Travailler avec CodeStructure de l'allumeur au quotidien
Une fois l'emplacement de chaque dossier connu, les tâches courantes deviennent simples. Créez un nouveau contrôleur dans `application/controllers/` (ou `app/Controllers/` dans CI 4), associez-le à une route dans `config/routes.php`, créez un modèle dans `models/` et affichez le rendu d'une vue dans `views/`. Conservez la configuration dans `config/`, placez le code réutilisable dans `helpers/` ou `libraries/`, et laissez Composer gérer le reste dans `vendor/`. En suivant cette méthode, votre projet restera facile à gérer, même s'il s'agrandit.
