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.

  • (I.e. Dossier de l'application : Contient vos contrôleurs, modèles, vues, configuration, cache, fonctions d'assistance, hooks, langage, bibliothèques, journaux et packages tiers.
  • 🧩 Dossier système : Contient le noyau du framework, les pilotes de base de données, les polices, les utilitaires, le langage et les bibliothèques intégrées ; ne modifiez pas ces fichiers directement.
  • ⚙️ Point d'accès: Le fichier index.php à la racine initialise le framework, définit les chemins d'accès et achemine chaque requête HTTP via le contrôleur frontal.
  • ✅ Différences entre les versions : CodeIgniter 3 utilise application/ et system/, tandis que CodeIgniter 4 introduit les dossiers app/, public/ et writable/ pour une séparation plus stricte.
  • 🧪 Guide du fournisseur et de l'utilisateur : Le répertoire « vendor » contient les packages Composer que vous déployez, tandis que le répertoire « user_guide » est une documentation locale que vous devez exclure des serveurs de production.

CodeDossier Igniter

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 :

CodeStructure des fichiers/dossiers/répertoires d'Igniter
CodeStructure des fichiers/dossiers/répertoires d'Igniter

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.

FAQ

Le dossier de l'application contient le code de votre projet (contrôleurs, modèles et vues) et vous pouvez le modifier librement. Le dossier système contient le noyau du framework ; vous ne devez jamais modifier ses fichiers, car les mises à jour du framework les écraseront.

In CodeDans Igniter 4, vous placez les nouveaux contrôleurs dans le dossier app/Controllers/ en utilisant les espaces de noms PSR-4. Faites correspondre le nom du fichier au nom de la classe, puis enregistrez une route dans app/Config/Routes.php afin que le framework puisse y acheminer les requêtes.

Non. Le dossier user_guide contient uniquement la documentation locale. Excluez-le des déploiements en production afin de réduire l'empreinte mémoire et d'éviter d'exposer la documentation de référence du framework sur un serveur en production. En revanche, les dossiers vendor et system doivent être déployés.

Le fichier index.php est le contrôleur frontal. Il configure l'environnement, définit les constantes de chemin et charge le bootstrap du framework afin que chaque requête entrante soit acheminée via celui-ci. CodeLe pipeline Igniter avant d'atteindre vos contrôleurs et vos vues.

Oui. Les outils d'IA tels que GitHub Copilot, Cursor et Claude peuvent générer les contrôleurs, les modèles et les vues dans les bons dossiers, expliquer les fichiers inconnus et signaler les classes mal placées. Ils sont particulièrement utiles lorsque vous passez d'un environnement à l'autre. CodeIgniter 3 et CodeAgencements d'Igniter 4.

Les assistants IA expliquent comment les contrôleurs gèrent les requêtes, les modèles les données et les vues le rendu, puis génèrent les fichiers correspondants dans les bons dossiers. Ils peuvent également examiner votre code, suggérer des refactorisations et renforcer la séparation MVC lors du développement d'applications réelles. CodeProjets d'allumage.

Résumez cet article avec :