CakePHP & DIEVOLUTION Blog
CakePHP 1.2 Blog Tutorial Teil 1
Willkommen beim CakePHP 1.2 Blog Tutorial. Dieses Tutorial soll euch helfen, die Welt von Cake zu verstehen und die ersten Schritte in diesem super Framework zu machen. Als Beispiel habe ich mir das Blog Tutorial zu der alten CakePHP Version 1.1 der offiziellen Cakeseite genommen, allerdings habe ich mich nicht an einer Übersetzung ins Deutsche versucht, sondern das Thema zum Anlass genommen, das Tutorial komplett neu zu verfassen und für die CakePHP Version 1.2 aufzubereiten. Ich denke, es wird euch gefallen. Das komplette Projekt zum Download findet ihr am Ende des dritten Teils. Solltet ihr Probleme mit dem Tutorial, Fragen oder Kritik haben hinterlasst einfach einen Kommentar.
Dieses Tutorial, welches sich in drei Hauptbereiche gliedert, wird das Orginaltutorial auf die aktuelle Version 1.2 anpassen, um neue Funktionen erweitern und so hoffentlich viele Neueinsteiger und Umsteiger animieren, mehr mit diesem tollen Framework zu arbeiten.
Das Tutorial gliedert sich in die folgenden Abschnitte:
- Einleitung
- Für Einsteiger: Wie fange ich an
- Cake installieren
- Denkweise und Ordnerstruktur
- Für Umsteiger: Änderungen in 1.2
- Tutorial
- Vorüberlegungen
- Datenbank einrichten und Daten einfügen
- Models: Datenbank abfragen
- Controller: Logik erschaffen
- Views: Ausgabe erstellen
- Posts hinzufügen und Datenvalidierung
- Posts löschen und editieren
- Extras
- Kommentarfunktion einbauen
- Helper erstellen
Teil 1: Einleitung
Teil 1.1
Für Einsteiger: Wie fange ich an und was ist Cake?
Wenn ihr dieses Kapitel lest, werdet ihr euch wahrscheinlich schon einmal über Cake informiert haben, sei es auf der offiziellen Seite oder in der CakePHP Google Group. Aber auch wenn ihr noch jungfräuliche Bäcker seid, könnt ihr weiterlesen, Cake ist ein erfrischend einfach zu erlernendes Framework.
Was ist Cake?
Cake ist ein in der Scriptsprache PHP geschriebenes Framework, welches ursprüngliches dazu dienen sollte, Ruby on Rails in die PHP Welt zu portieren. Inzwischen sind aber viele neue Dinge hinzugekommen, so dass man bereits von einem ausgereiften Framework jenseits einer Ruby Portierung sprechen kann.
Cake verfolgt das sogenannte MVC Konzept sowie die Regeln DRY (Don’t repeat yourself) und “Conventions over Configurations”. Hier erfahrt ihr mehr über die Konzepte von Cake und die Regeln, nach denen das Framework funktioniert. Dies alles haarklein zu erklären würde allerdings den Rahmen des Tutorials sprengen. Das MVC Prinzip wird im Kapitel “Denkweise und Ordnerstruktur” näher vermittelt.
Wie fange ich an?
Das erfahrt Ihr im nächsten Kapitel, lest also gleich weiter
Teil 1.2
Cake installieren
Habt ihr euch entschlossen, Cake und dieses Tutorial auszuprobieren, so braucht ihr folgende Dinge:
- CakePHP (Wer hätte das gedacht…)
- Einen Webserver (ich empfehle Apache)
- Eine Datenbank (In diesem Tutorial verwende ich MySQL
- Einen PHP Editor eurer Wahl (Bei mir fällt die Wahl auf PHP Eclipse
- Ein wenig Zeit (es lohnt sich!)
Während ihr die Punkte 2-5 sicherlich selbst abarbeiten könnt, braucht ihr noch CakePHP. Auf der Downloadseite http://cakeforge.org/projects/cakephp/ findet ihr den in der Zeile Alpha den Downloadlink. Ladet euch das Paket herunter. Keine Panik, obwohl es offiziell noch eine Alphaversion ist (zum Zeitpunkt dieses Tutorials ist die Version 1.2.0.5427alpha aktuell), empfehlen die Entwickler bereits, diese Version zu nutzen.
Habt ihr das Paket erfolgreich heruntergeladen, entpackt es in ein Unterverzeichnis eures Webservers, beispielsweise http://localhost/eclipse/tutorial/ (Diesen Pfad werde ich für die Dauer des Tutorials benutzen).
Habt ihr diesen Schritt gemeistert, geht es auch schon im nächsten Kapitel weiter!
Teil 1.3:
Denkweise und Ordnerstruktur
Nachdem ihr nun Cake erfolgreich installiert habt gebe ich euch eine kleine Übersicht über die Ordner, was sich wo versteckt.
/app/
Der wichtigste Ordner für euch, er wird nachher eure Anwendung enthalten
/cake/
Hier befinden sich die Kerndateien von CakePHP
/docs/
Readme und Changelog Texte (ich muss gestehen, dort habe ich nie reingeschaut)
/vendors/
In diesen Ordner kommen externe Scripte, die ihr in eure Anwendungen einbauen könnt (Beispielsweise fpdf, Eine Klasse zur Generierung von PDF Dateien aus PHP heraus)
Es gibt noch zwei weitere Dateien im Hauptverzeichnis:
/.htaccess
Diese Datei leitet alle Anfragen entsprechend weiter, so dass die Cake Konventionen (siehe weiter unten in diesem Kapitel) eingehalten werden.
/index.php
Hier landet der Benutzer eurer Anwendung als erstes
Schauen wir uns nun den APP Ordner etwas genauer an.
/app/config
Dort befinden sich die Konfigurationsdateien
/app/controllers
Der Platz für eure Controllerdateien. Was es damit auf sich hat, erfahrt ihr gleich.
/app/locale
Der Ordner für Lokalisierungsdateien
/app/models
Hier findet ihr keine Fotos von Topmodels, sondern eure Modeldateien. Auch hierzu gleich mehr
/app/plugins
Wie der Name schon sagt, ein Ordner für Plugins
/app/tests
CakePHP besitzt eine eingebaute Testsuite, mit der ihr eure Programmlogik testen und sogar testgetrieben könnt. Leider gibt es hierzu bis auf einen Bakery Artikel kaum Dokumentation.
/app/tmp
Um die Seite schneller rendern zu können speichert Cake hier Caches verschiedener Bestandteile der Seite. Achtung: dieser Ordner muss für Cake beschreibbar sein.
/app/vendors
Wie schon im Hauptfolder findet ihr hier einen Ordner für externe Skripte, die allerdings diesmal nur für den /app/ Ordner gelten.
/app/views
Alle Ausgabedateien (Views) findet ihr in diesem Ordner. Dazu gleich mehr.
/app/webroot
Hier schauen wir nochmals genauer rein
/app/webroot/css
Eure CSS Dateien werden in diesem Ordner gespeichert.
/app/webroot/files
Dateien jedweder Couleur kommen hier rein, beispielsweise Dateien, die ihr zum Download anbieten möchtet.
/app/webroot/img
Der Bilderordner
/app/webroot/js
Javascripte gehören hier rein.
Weitere Informationen findet ihr unter http://manual.cakephp.org/chapter/basic_concepts
Teil 1.4:
Denkweise von CakePHP: Das MVC Konzept
Gerade Neulinge tun sich beim MVC Konzept zunächst schwer. Verabschiedet euch von Includes, Funktionsdateien und riesigen unübersichtlichen PHP Dateien. Willkommen in der Welt von Morgen! äh ich meine natürlich in der Welt der Models, Controller und Views.
Models:
Im Model wird die Verbindung zur entsprechenden Datenbanktabelle hergestellt und dort werden auch die Verbindungen zu anderen Tabellen und Validierungsregeln geregelt. Quasi wird alles, was aus der Datenbank kommt und hineingeht durch das Model geleitet. Hierbei greift (standardmäßig) die folgende Konvention:
Möchte man seine Blogeinträge speichern, tut man dies in einer dafür vorgesehen Datenbanktabelle. Einen Eintrag nennen wir “Post”. Das Model heißt dann “post.php”, die dazugehörige Datenbanktabelle “posts”. Hält man diese Konvention ein, nimmt das Model automatisch die korrekte Tabelle.
Controller:
Controller sind die Logikschnittstellen von CakePHP. Diese werden für sämtliche Aktionen benutzt und sind immer im Plural mit dem Zusatz _controller anzusprechen, also in unserem Fall posts_controller.php. Wie ein Controller funktioniert seht ihr am besten gleich im Blogtutorial.
Views
Views sind die Ausgabe, die der Besucher der Seite zu sehen bekommt. Sie enthalten keine Logik sondern dienen nur der Aufbereitung der vom Controller kommenden Daten. Ein View heißt immer so wie die Aktion im Controller, beispielsweise würde bei einer Aktion “add” im Controller der dazugehörige View “add.ctp” heißen.
Dies ist ein wenig schwer in den Kopf zu bekommen, aber durch das Tutorial werdet ihr das spielend schaffen, so einfach wie Kuchen essen.
Weitere Informationen zu diesem Teil findet ihr bei cakephp.org
Teil 1.5:
Für Umsteiger: Änderungen in CakePHP 1.2
In diesem Teil erfahrt ihr grob, was sich in CakePHP 1.2 ändern wird. Da leider die Dokumentation noch sehr dürftig ist, sind noch nicht alle Funktionen voll erforscht. Dies wird sich aber sicher bald ändern.
Die wichtigsten Neuerungen und Änderungen
- Testsuite eingeführt
- Neue E-Mail Komponente
- Neue Auth Komponente
- Unterstützung von Internationalisierungstools wie i18n
- Geänderte Helper
- verbesserte Validierung
- Und noch viele andere Dinge
Wie ihr seht lohnt es sich, die alten 1.1er Seiten zu überarbeiten und ganz im 1.2er Kuchen aufzugehen. Eine gute Übersicht aller Neuerungen findet ihr bei Cakebaker (englisch).
Doch nun genug der Einführung, lasst uns endlich in das Tutorial einsteigen!
weiter zu Teil zwei des Tutorials
Veröffentlicht am Dienstag, den 2. Oktober 2007 um 12:58 Uhr veröffentlicht
Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.
8 Reaktionen zu “CakePHP 1.2 Blog Tutorial Teil 1”
-
cakebaker » Blog tutorial for CakePHP 1.2
Am 3. Oktober 2007 um 09:08 Uhr[…] has published in his blog a “Blog tutorial for CakePHP 1.2″ trilogy (in german). In the first part he introduces some CakePHP basics. Part two is very similar to the blog tutorial from the manual. […]
-
rtauchnitz.de » Blog Archive » CakePHP Blog Tutorial
Am 4. Oktober 2007 um 22:40 Uhr[…] CakePHP 1.2 Blog Tutorial Teil 1 - Einleitung […]
-
Am 17. Oktober 2007 um 14:34 Uhr
Ach was! Jetzt seh ich ja erst, dass hier noch viel mehr CakeStuff rumschwirrt. Das wird ja immer immer besser! Wäre es deiner Meinung nach möglich und vor allem sinnvoll TYPO3 und cakePHP zu kombinieren?
Oder geht das aufgrund der unterschiedlichen Konzepte eher nicht? -
Am 17. Oktober 2007 um 14:36 Uhr
Ich denke, es ist sehr gut möglich die beiden zu kombinieren, am besten eine Typo3 Extension für eine CakePHP Anbindung schreiben. Steht auch noch auf meiner Todo Liste für die Freizeit

-
Reiseleiter
Am 15. Dezember 2007 um 21:43 UhrZitat: ” … entpackt es in ein Unterverzeichnis eures Webservers, beispielsweise http://localhost/eclipse/tutorial/ (Diesen Pfad werde ich für die Dauer des Tutorials benutzen)….”
Also bei mir haut da scheinbar was mit den Pfaden nicht hin. In dem Tutorial wird auch später nicht mehr auf den Pfad verwiesen. -
Und ich dachte ich wüßte was coden ist Webdesignblog
Am 28. Dezember 2007 um 16:04 Uhr[…] ist der Hammer, das Konzept ist so einleutend richtig, es funktioniert und der Umstieg ist mit dem CakePHP Tutorial absolut einfach. Ich kann es jedem empfehlen, schnuppert rein, fangt an zu basteln und lernt das […]
-
CakePHP: Ein Tutorial über den Einsatz von CakePHP | milkstyle Webdesign Blog
Am 27. Januar 2008 um 18:42 Uhr[…] Das ist ein TestWer sich für CakePHP interessiert, findet bei dievolution.net ein klasse Tutorial, was an das offizielle anglischsprachige für Version 1.2 angelehnt ist. […]
-
Monzavi
Am 21. Mai 2008 um 09:10 UhrHallo ihr Lieben,
ich versuche, vergeblich, die Funktion $javascript->link zu benutzen, um TinyMce zu laden, dazu habe ich die Codeschnippsel in Bakery benutzt, funktioniert aber nicht…ich benutze die Version 1.2, und eine Fehlermeldung wird auch nicht ausgegeben. JavascriptHelper ist in Controller geladen. Code-Abschnitte bei:
http://bakery.cakephp.org/articles/view/using-tinymce-with-cakephp
Kann mir jemand schnell helfen?
Auf einen Blick
Archiv
- Juli 2008
- Juni 2008
- Mai 2008
- April 2008
- März 2008
- Februar 2008
- Januar 2008
- Dezember 2007
- November 2007
- Oktober 2007
- September 2007
- August 2007
- Juli 2007
- Juni 2007
- Mai 2007
- April 2007
Kategorien
- Allgemein (69)
- Cake vs Rails (3)
- CakePHP (42)
- Meinung (14)
- Projekt (2)
- Rails (1)
- Tipps (24)
- Typo3 (4)
Letzte Einträge:
- 11.04.2007: Neustart
- 11.04.2007: Design Version 1 steht
- 11.04.2007: Blog