CakePHP-Tutorial für Anfänger: Was ist das CakePHP-Framework?
⚡ Intelligente Zusammenfassung
Dieses CakePHP-Tutorial behandelt das Open-Source-PHP-Framework für die schnelle Entwicklung von MVC-basierten Webanwendungen. Es erklärt, was CakePHP ist, warum Teams es wählen, wie man es installiert, die Ordnerstruktur und Konfiguration, Namenskonventionen und wie das Model-View-Controller-Muster eine CakePHP-Anwendung steuert.

Was ist CakePHP?
KuchenPHP CakePHP ist ein Open-Source-Framework für die schnelle Entwicklung und Wartung von Webanwendungen in PHP. Es basiert auf dem MVC-Architekturkonzept, das die einfache und unkomplizierte Erstellung von PHP-Webanwendungen mit weniger Code ermöglicht. CakePHP unterstützt zudem die Trennung von Geschäftslogik, Datenschicht und Präsentationsschicht.
Warum CakePHP Framework verwenden?
Hier die wichtigsten Vorteile der Verwendung des CakePHP-Frameworks:
- CakePHP ist mit Abstand eine der schnellsten Webentwicklungsplattformen.
- CakePHP ermöglicht Entwicklern eine verbesserte Kontrolle über die Datenbank und SQL-Abfragen.
- Es hilft Anwendern, schnell robuste Webanwendungen zu entwickeln, ohne dabei die Flexibilität ihrer Entwicklungsumgebung einzubüßen.
- Unterstützung für PostgreSQL, SQLite, MySQLund PEAR-DB für ADODB, eine Datenbankabstraction Bibliothek.
- Ermöglicht Suchmaschinenfreundlichkeit URLs.
- Bietet Funktionen wie Eingabevalidierung und Bereinigungstools, die die App sicher machen.
- Vorlagen mit bekannter PHP-Syntax.
Wie installiert man CakePHP?
CakePHP lässt sich am besten mit Composer, dem PHP-Abhängigkeitsmanager, installieren. Nach der Installation von Composer führen Sie den folgenden Befehl aus, um ein neues Projektgerüst zu erstellen.
composer create-project --prefer-dist cakephp/app:~5.0 my_app
Der Befehl lädt CakePHP und seine Abhängigkeiten in einen Ordner namens „my_app“ herunter. Anschließend können Sie den integrierten Server starten mit bin/cake server Öffnen Sie http://localhost:8765 in Ihrem Browser. Beachten Sie, dass CakePHP 5 PHP 8.1 oder höher benötigt.
Geschichte von CakePHP
In diesem CakePHP-Tutorial behandeln wir die Geschichte des CakePHP-Frameworks:
| Jahr | Milestone |
|---|---|
| 2005 | CakePHP wurde am 15. April 2005 von Michal Tatarynowicz entwickelt. |
| 2005 | CakePHP hat es unter der MIT-Lizenz veröffentlicht und der Entwicklergemeinschaft zugänglich gemacht. |
| 2005 | Larry E Masters übernahm die Leitung des Entwicklers. |
| 2006 | Version 1.0 wurde veröffentlicht. |
| 2011 | Version 2 wurde veröffentlicht. |
| 2014 | Version 3 wurde veröffentlicht, eine vollständige Überarbeitung der früheren Versionen. |
| 2016 | Version 3.3 von CakePHP wurde mit vielen erweiterten Funktionen veröffentlicht. |
| 2019 | Version 4.0 wurde veröffentlicht und modernisierte das Framework. |
| 2023 | CakePHP 5.0 wurde veröffentlicht und erforderte PHP 8.1 oder höher. Die aktuelle Version (Stand 2026) ist CakePHP 5.3.x. |
Funktionen von CakePHP
Hier sind wichtige Funktionen von CakePHP.
- Aktive, freundliche Community
- MVC-Architektur
- Eingebaute Validierung
- Funktioniert von jedem beliebigen Website-Verzeichnis aus, mit oder ohne jegliche Apache-Konfiguration.
- Template-Engine
- Caching-Operationen
- Einfache CRUD-Datenbankinteraktionen
- Verarbeitung von Komponenten wie E-Mail, Cookie, Sicherheit, Sitzung und Anfrage
- Hilfen anzeigen für JavaSkript, AjaxHTML-Formulare und mehr
CakePHP-Ordnerstruktur
In diesem Tutorial zum CakePHP-Framework lernen wir nun die Ordnerstruktur von CakePHP kennen.
Nachfolgend finden Sie eine Ordnerstruktur von CakePHP:
| Mappe | Beschreibung |
|---|---|
| Tests | Dieser Ordner enthält Testfälle für Ihre Anwendung. |
| Tmp | Im Ordner „tmp“ werden temporäre Daten gespeichert. |
| Verkäufer | In diesem Ordner werden CakePHP und andere Anwendungsabhängigkeiten installiert. |
| Webroot | Im Webroot werden alle Dateien gespeichert, die öffentlich zugänglich sein sollen. |
| Kasten | Der Ordner „bin“ enthält die ausführbaren Dateien der Cake-Konsole. |
| Logs | Es enthält Ihre Protokolldateien, die von Ihrer Protokollkonfiguration abhängen. |
| Config | Im Ordner „config“ werden die von CakePHP verwendeten Konfigurationsdateien gespeichert. |
| Plugins | Hier werden die von Ihrer Anwendung verwendeten Plugins gespeichert. |
| Src | Es enthält den Code für Ihre Anwendung, wie z. B. Controller, Entitäten und Verhaltensweisen. Locale speichert String-Dateien für die Internationalisierung, und Model enthält die Tabellen, Entitäten und Verhaltensweisen Ihrer Anwendung. |
Konfiguration von CakePHP
CakePHP wird standardmäßig mit einer einzigen Konfigurationsdatei geliefert. Außerdem können Sie es entsprechend Ihren Anforderungen ändern. Zu diesem Zweck gibt es einen Ordner namens „config“.
| Variablennamen | Beschreibung |
|---|---|
| Debuggen | Ermöglicht Ihnen, die Debug-Ausgabe von CakePHP zu ändern. |
| App Namespace | Hilft Ihnen dabei, die App-Klassen zu finden. |
| App.baseUrl | Entfernen Sie die Kommentarfunktion für dieses Schlüsselwort, wenn Sie Apaches mod_rewrite nicht mit CakePHP verwenden möchten. |
| App-Kodierung | Ermöglicht es Ihnen, die Kodierung Ihrer Anwendung festzulegen. |
| App.base | Es handelt sich um das Basisverzeichnis, in dem sich die App befindet. Falls dieser Wert „false“ ist, wird er automatisch erkannt. |
| App.fullBaseUrl | Vollständiger qualifizierter Domainname. |
| App.webroot | Es handelt sich um das Webroot-Verzeichnis. |
| App.wwwRoot | Der Dateipfad zum Webroot. |
| App.jsBaseUrl | Pfad zum öffentlichen js-Verzeichnis. |
| App-Pfade | Konfigurieren Sie Pfade für nicht klassenbasierte Ressourcen. |
| App.cssBaseUrl | Es handelt sich um den Webpfad zum öffentlichen CSS-Verzeichnis unter webroot. |
| Sicherheitssalz | Es handelt sich um eine zufällige Zeichenfolge, die beim Hashing verwendet wird. |
| Asset.timestamp | Diese Variable fügt einen Zeitstempel hinzu, wenn die entsprechenden Hilfsfunktionen verwendet werden. |
Cake-PHP-Namenskonventionen
Cake folgt dem Prinzip „Konvention vor Konfiguration“. Die Namenskonvention ermöglicht die Organisation der Funktionsweise der Webanwendung. Bei dieser Methode müssen mehrere Wörter im Dateinamen durch „_“ getrennt werden, während Klassennamen in CamelCase geschrieben werden.
Die MVC-Teile müssen der unten angegebenen Syntax entsprechen:
| Dateiname | Klassenname | Basisklassenname | Standort | |
|---|---|---|---|---|
| Modell | Singularform des Tabellennamens mit der Dateiendung .php, z. B. order.php | Der Dateiname in CamelCase, z. B.: Order | AppModell | /app/models |
| Controller | tablename_controller mit der Dateiendung .php, z. B. orders_controller.php | Der Tabellenname wird mit „Controller“ ergänzt, z. B.: OrdersController | AppController | /app/controllers |
| Ansehen | Der Aktionsname im Controller mit der Erweiterung .ctp, z. B. add.ctp | Keine Klassen; eine Ansicht enthält HTML-Tags und PHP. | /app/views/controller name |
Datenbankkonfiguration
CakePHP ermöglicht es Ihnen, die Datenbank in der config/app.php Die Datei stellt eine Standardverbindung mit vorgegebenen Parametern bereit, die Sie nach Ihren Wünschen anpassen können.
Nachfolgend sind wichtige Parameter aufgeführt:
| Parameter | Beschreibung |
|---|---|
| Port (optional) | Der TCP-Port oder Unix-Socket, der für die Verbindung zum Server verwendet wird. |
| Zeitzone | Die festzulegende Serverzeitzone. |
| Schema | Es hilft Ihnen bei der Angabe, welches Schema Sie verwenden können. |
| unix_socket | Wird von Treibern verwendet, um Verbindungen über Unix-Socket-Dateien herzustellen. |
| ssl_key | Es handelt sich um den Dateipfad zur SSL-Schlüsseldatei. |
| ssl_cert | Es handelt sich um den Dateipfad zur SSL-Zertifikatsdatei. |
| ssl_ca | Es handelt sich um den Dateipfad zur SSL-Zertifizierungsstelle. |
| Log | Dieser Begriff hilft Ihnen bei der Abfrageprotokollierung. |
| Drin | Eine Liste von Abfragen, die bei jedem Verbindungsaufbau an den Datenbankserver gesendet werden sollen. |
| Angebotsbezeichner | Auf „true“ setzen, wenn Sie reservierte Wörter oder Sonderzeichen verwenden möchten. |
Wie funktioniert MVC in CakePHP?
In diesem CakePHP-Framework-Tutorial lernen wir nun, wie das MVC-Modell in CakePHP funktioniert.
Es handelt sich um eine dynamische Methode zum Aufbau des Kernmechanismus einer Webanwendung. Modell, Ansicht und Controller sind voneinander getrennt.

CakePHP unterteilt die Operationen in drei Teile:
- Modelle: Wird für alle Datenbankinteraktionen verwendet.
- Ansichten: Wird für alle Ausgaben und Anzeigen verwendet.
- Controller: Werden zur Steuerung des Anwendungsablaufs verwendet.
Hier sind die Schritte zur Verwendung der MVC-Architektur in CakePHP:
Schritt 1) Der Client bzw. Benutzer interagiert mit der Ansicht.
Schritt 2) Die Ansicht benachrichtigt den Controller über das jeweilige Ereignis.
Schritt 3) Der Controller sendet eine Datenbankanfrage an das Modell und aktualisiert das Modell.
Schritt 4) Das Modell signalisiert der Ansicht, dass es sich geändert hat.
Schritt 5) Die Ansicht empfängt die Modelldaten und aktualisiert sich entsprechend den empfangenen Daten.
Warum MVC verwenden?
- CakePHP MVC hilft Ihnen dabei, Geschäftslogik von Präsentation und Datenabruf zu trennen.
- Eine Site ist in logische Abschnitte unterteilt, die Sie mit einem bestimmten Controller steuern können.
- Beim Testen und Debuggen einer Anwendung kann jeder Entwickler Fehler finden und beheben, ohne über vollständige Details des Codes zu verfügen.
Nachteile der Verwendung des CakePHP-Frameworks
- Die Dokumentationsunterstützung von CakePHP ist nicht so umfassend, wie sie sein sollte.
- Um CakePHP zu verwenden, muss der Entwickler die Standardrouten für die Erstellung komplexer Anwendungen aktualisieren. URLs, was im Vergleich zu einigen anderen PHP-Frameworks mehr Arbeit bedeutet.
- CakePHP verwendet im Vergleich zu anderen Frameworks ein unidirektionales Routing.
- PHP lernen Frameworks sind für Anfänger nicht immer einfach.
- Ein weiterer Nachteil im Vergleich zu Frameworks wie Ruby on Rails ist das unidirektionale Routing.
