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.

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:
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.
