CodeIgniter-Ordner-, Datei- und Verzeichnisstruktur

⚡ Intelligente Zusammenfassung

CodeIgniter organisiert ein PHP-Projekt in vorhersehbare Ordner für Anwendungslogik, Framework-Systemdateien, Composer-Vendor-Pakete und ein einzelnes Einstiegsskript, sodass Anfänger den Code schnell finden und fortgeschrittene Entwickler eine saubere MVC-Struktur skalieren können.

  • 📁 Anwendungsordner: Enthält Ihre Controller, Modelle, Ansichten, Konfigurationen, Cache, Hilfsfunktionen, Hooks, Sprache, Bibliotheken, Protokolle und Drittanbieterpakete.
  • 🧩 Systemordner: Speichert den Framework-Kern, Datenbanktreiber, Schriftarten, Hilfsfunktionen, die Sprache und integrierte Bibliotheken; bearbeiten Sie diese Dateien nicht direkt.
  • ⚙️ Einstiegspunkt: Die Stammdatei index.php startet das Framework, legt Pfade fest und leitet jede HTTP-Anfrage über den Front-Controller.
  • Versionsunterschiede: CodeIgniter 3 verwendet application/ und system/, während CodeIgniter 4 führt die Ordner app/, public/ und writable/ für eine striktere Trennung ein.
  • 🧪 Anbieter- und Benutzerhandbuch: Der Anbieter speichert die von Ihnen bereitgestellten Composer-Pakete, während user_guide eine lokale Dokumentation ist, die Sie von den Produktionsservern ausschließen sollten.

CodeIgniter-Ordner

Die Dateistruktur verstehen in CodeIgniter ist unerlässlich, bevor Sie eine echte Anwendung entwickeln. Ein vorhersehbares Layout hilft Ihnen, Controller, Modelle und Ansichten schnell zu finden, Routing-Probleme zu beheben und neue Teammitglieder schneller einzuarbeiten. Dieses Tutorial behandelt die klassische CodeDie Igniter 3-Struktur ist nach wie vor weit verbreitet und verdeutlicht außerdem die wichtigsten Unterschiede, die Ihnen begegnen werden. CodeIgniter 4.x führt app/, public/ und writable/ als separate Ordner der obersten Ebene ein.

Was ist der CodeIgniter-Datei- und Verzeichnisstruktur?

Das CodeDie Igniter-Dateistruktur ist die Standardanordnung von Ordnern und PHP-Dateien, die das Framework nach dem Herunterladen oder Installieren mitbringt. Sie trennt die Anwendungslogik vom Framework-Kern, hält Composer-Abhängigkeiten isoliert und bietet einen einzigen Einstiegspunkt über die Datei index.php. Die folgende Abbildung zeigt die Dateistruktur in Igniter. CodeZünder:

CodeIgniter-Datei-/Ordner-/Verzeichnisstruktur
CodeIgniter-Datei-/Ordner-/Verzeichnisstruktur

Hier ist eine vereinfachte Verzeichnisstruktur für ein neues System. CodeInstallation von Zündgerät 3:

// CodeIgniter 3 root layout
project-root/
├── application/
├── system/
├── user_guide/
├── vendor/
├── composer.json
├── composer.lock
└── index.php

Erläuterung der Ordner der obersten Ebene

Schauen wir uns nun die oben genannten Dateien an. CodeZünderstruktur:

  • Anwendung – Dies ist das Verzeichnis, das Ihre Anwendungslogik enthält. Ihr gesamter Anwendungscode wird in diesem Verzeichnis gespeichert.
  • fragst – Dieser Ordner enthält die Kerndateien des Frameworks. Es wird nicht empfohlen, in diesem Verzeichnis Änderungen vorzunehmen oder Ihren eigenen Anwendungscode in dieses Verzeichnis einzufügen.
  • Benutzerhandbuch – Dieses Verzeichnis enthält das Benutzerhandbuch für CodeZünder.
  • Verkäufer Dieses Verzeichnis enthält den Quellcode der Composer-Pakete. Weitere zugehörige Dateien sind composer.json und composer.lock.
  • index.php – Dies ist der Einstiegspunkt in die Anwendung.

CodeIgniter-Anwendungsunterverzeichnisse

Betrachten wir nun die Verzeichnisse genauer. Wie bereits erwähnt, enthält das Anwendungsverzeichnis Ihren Projektcode. In diesem Abschnitt werden wir die internen Unterverzeichnisse im Anwendungsverzeichnis untersuchen. CodeVerzeichnisstruktur von Igniter:

  • Cache-Speicher – speichert zwischengespeicherte Dateien, die von den Ausgabebibliotheken und Datenbank-Caching-Bibliotheken generiert werden.
  • Config – verwaltet Konfigurationsdateien wie database.php, routes.php und autoload.php.
  • Controller – Alle Anwendungscontroller werden hier definiert und zugeordnet URL Segmente zu Aktionen.
  • Core – Enthält benutzerdefinierte Kernklassen, die Systemdateien erweitern. Wenn Sie beispielsweise einen Basis-Controller erstellen, von dem andere Controller erben sollen, platzieren Sie ihn in diesem Verzeichnis.
  • Helfer – dieses Verzeichnis der CodeDie Ordnerstruktur von Igniter wird für benutzerdefinierte Hilfsfunktionen verwendet.
  • Haken – Wird für benutzerdefinierte Hooks in der CI-Ordnerstruktur verwendet, die während des Framework-Ausführungszyklus ausgelöst werden.
  • Sprache – Wird verwendet, um Sprachdateien für Anwendungen zu speichern, die mehr als eine Sprache verwenden.
  • Bibliotheken – Wird zur Speicherung benutzerdefinierter Bibliotheken verwendet.
  • Protokolle – Die Anwendungsprotokolldateien werden in diesem Verzeichnis gespeichert.
  • für – Alle Anwendungsmodelle sollten in diesem Verzeichnis definiert werden.
  • dritte Seite – Dies wird für benutzerdefinierte Pakete verwendet, die Sie oder andere Entwickler erstellt haben.
  • Ansichten – Anwendungsansichten werden in diesem Verzeichnis gespeichert.

Hier ist ein Beispiel für die Unterverzeichnisstruktur der Anwendung:

// application/ subdirectories
application/
├── cache/
├── config/
├── controllers/
├── core/
├── helpers/
├── hooks/
├── language/
├── libraries/
├── logs/
├── models/
├── third_party/
└── views/

CodeIgniter-Systemunterverzeichnisse

Betrachten wir nun die Systemunterverzeichnisse in der CI-Dateistruktur. Denken Sie daran, dass sich hier der Quellcode des Frameworks befindet. Nehmen Sie daher keine Änderungen an den Dateien in diesem Verzeichnis vor.

  • Core – das ist wie das Herz des CodeIgniter-FrameworkAlle Kerndateien des Frameworks befinden sich hier. Um die Funktionalität der Kerndateien zu erweitern, erstellen Sie eine benutzerdefinierte Kerndatei im Anwendungsverzeichnis. Anschließend können Sie das gewünschte Verhalten überschreiben oder hinzufügen. Änderungen sollten Sie niemals direkt in dieser Datei vornehmen.
  • Datenbank – Datenbanktreiber, Cache und andere für Datenbankoperationen benötigte Dateien werden hier bereitgestellt.
  • Schriftarten – wie der Name schon sagt, enthält dieses Verzeichnis Schriftarten und Informationen über Schriftarten.
  • Helfer – dieses Verzeichnis im CodeDer Ordner „Igniter structure“ enthält Hilfsfunktionen, die standardmäßig enthalten sind.
  • Sprache – enthält Sprachdateien, die vom Framework verwendet werden.
  • Bibliotheken – enthält die Quelldateien für die verschiedenen Bibliotheken, die mitgeliefert werden CodeZünder direkt aus der Verpackung.

Die Systemordnerstruktur sieht folgendermaßen aus:

// system/ subdirectories
system/
├── core/
├── database/
├── fonts/
├── helpers/
├── language/
└── libraries/

CodeIgniter Benutzerhandbuch Verzeichnis

Dieses Verzeichnis dient als Nachschlagewerk, wenn Sie die folgenden Punkte verstehen möchten: CodeIgniter-API. Sie sollten dieses Verzeichnis nicht hochladen, wenn Sie Ihre Anwendung in der Produktionsumgebung bereitstellen, da es die Dateigröße erhöht und Dokumentationen enthält, die auf einem Live-Server nichts zu suchen haben.

CodeZündgeräte-Anbieterverzeichnis

Dieses Verzeichnis enthält Quelldateien für Pakete, die Sie über Composer installieren. Die Dateien in diesem Verzeichnis sollten unverändert bleiben. Im Gegensatz zum Verzeichnis „user_guide“ muss dieses Verzeichnis hochgeladen werden, wenn Sie Composer-Pakete in Ihrer Anwendung verwenden.

index.php-Datei

Die index.php-Datei im CodeDie Igniter-Dateistruktur enthält den Bootstrap-Code, der Umgebung, Pfade und Fehlerberichte definiert, bevor die Kontrolle an das Framework übergeben wird. Diese Datei befindet sich im Stammverzeichnis und fungiert als Front-Controller für jede eingehende HTTP-Anfrage.

Wie CodeZünder 4 verändert die Struktur

CodeIgniter 4.x hat das Layout überarbeitet, um die Sicherheit und das automatische Laden von PSR-4-Dateien zu verbessern. Anstelle eines einzelnen Anwendungsordners sehen Sie nun drei Ordner der obersten Ebene, die die verschiedenen Bereiche strikter voneinander trennen:

  • App / – entspricht dem älteren Anwendungsordner, der Controller, Modelle, Ansichten, Konfigurationen, Filter und Bibliotheken enthält.
  • Öffentlichkeit/ – der einzige Ordner, der über das Web erreichbar ist und die Datei index.php sowie Ihre CSS-, JS- und Bilddateien enthält.
  • beschreibbar/ – Speichert Cache, Protokolle, Sitzungen und Uploads, die das Framework zur Laufzeit schreiben muss.
  • System/ – enthält weiterhin den Framework-Kern, der unter einem Namensraum zusammengefasst ist CodeZünder\.
  • Verkäufer/ – Composer-Pakete, die in ihrer Funktion mit CI 3 identisch sind.
// CodeIgniter 4 root layout
project-root/
├── app/
├── public/
├── writable/
├── system/
├── vendor/
├── tests/
├── composer.json
├── env
└── spark

Wenn Sie heute ein neues Projekt starten, CodeIgniter 4 ist die empfohlene Version. Wenn Sie eine ältere Codebasis pflegen, entspricht die oben beschriebene CI-3-Struktur dem, was Sie auf der Festplatte sehen.

Zusammenarbeit mit dem CodeZündstruktur im Tagesgeschäft

Sobald Sie wissen, wo sich die einzelnen Ordner befinden, werden gängige Aufgaben zum Kinderspiel. Erstellen Sie einen neuen Controller unter application/controllers/ (oder app/Controllers/ in CI 4), ordnen Sie ihn einer Route in config/routes.php zu, erstellen Sie ein Modell unter models/ und rendern Sie die Ausgabe einer View-Datei unter views/. Speichern Sie die Konfiguration in config/, fügen Sie wiederverwendbaren Code in helpers/ oder libraries/ ein und lassen Sie Composer alles in vendor/ verwalten. Halten Sie sich an diese Vorgehensweise, und Ihr Projekt bleibt auch bei wachsender Größe übersichtlich.

Häufig gestellte Fragen

Der Anwendungsordner enthält Ihren Projektcode, beispielsweise Controller, Modelle und Ansichten, und Sie können ihn frei bearbeiten. Der Systemordner enthält den Framework-Kern, dessen Dateien Sie niemals ändern sollten, da Framework-Updates sie überschreiben.

In CodeIn Igniter 4 platzieren Sie neue Controller im Ordner `app/Controllers/` mithilfe von PSR-4-Namensräumen. Achten Sie darauf, dass der Dateiname dem Klassennamen entspricht, und registrieren Sie anschließend eine Route in `app/Config/Routes.php`, damit das Framework Anfragen an diese Route weiterleiten kann.

Nein. Der Ordner „user_guide“ enthält ausschließlich lokale Dokumentation. Um den Speicherbedarf zu reduzieren und zu vermeiden, dass Framework-Referenzmaterial auf einem Live-Server offengelegt wird, sollte er von Produktionsumgebungen ausgeschlossen werden. Hersteller- und Systemordner hingegen müssen bereitgestellt werden.

Die Datei index.php ist der Front-Controller. Sie konfiguriert die Umgebung, definiert Pfadkonstanten und lädt das Framework-Bootstrap, sodass jede eingehende Anfrage über den Front-Controller geleitet wird. CodeDie Igniter-Pipeline wird gestartet, bevor die Controller und Views erreicht werden.

Ja. KI-Tools wie GitHub Copilot, Cursor und Claude können Controller, Modelle und Ansichten in den richtigen Ordnern erstellen, unbekannte Dateien erklären und falsch platzierte Klassen kennzeichnen. Sie sind besonders hilfreich beim Wechsel zwischen verschiedenen Architekturen. CodeZünder 3 und CodeIgniter 4 Layouts.

KI-Assistenten erklären, wie Controller Anfragen bearbeiten, Modelle Daten verwalten und Ansichten Ausgaben rendern, und generieren anschließend die passenden Dateien in den richtigen Ordnern. Sie können außerdem Ihren Code überprüfen, Refactoring vorschlagen und die MVC-Trennung beim Erstellen realer Anwendungen unterstützen. CodeIgniter-Projekte.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: