get out

Webentwicklung mit CakePHP

Bücher aus dem Hause O’Reilly mag ich sehr, da sie einerseits eine hohe Qualität aufweisen – ich meine inhaltlich – und andererseits sind sie meist auch anspruchsvoll. Allerdings kosten die Schinken meist auch etwas mehr, als ein Buch von Markt und Technik, Franzis, Data Becker oder einem ähnlichen Verlag. Vor ein paar Tagen lag das Buch Webentwicklung mit CakePHP in meinem Briefkasten. Bisher hörte ich bloss am Rande von diesem Framework, ausser am BarCamp zu Liechtenstein; dort setzte ich mich in die Session von Roland und sah mir an, wie in knapp 45 Minuten eine Webapplikation entstand. Mit CakePHP.

Das Buch entstand im Jahre 2008, verfasst haben es Dirk Ammelberger und Robert Scherer. Beides sind Koryphäen im Bereich der Webentwicklung und dem dazugehörigen Umfeld. Ich befinde mich nun mitten in der Arbeit mit diesem Buch und darf mit Überzeugung sagen, dass nicht nur CakePHP eine feine Sache ist, sondern auch das Buch selbst.

Es ist nicht für Computer-Einsteiger geschrieben, das geht auch aus der Einleitung hervor. Ein paar Grundkenntnisse zu PHP, MySQL, SQL und den Relationen in einer modernen Datenbank sowie dem objektorientierten Verhalten einer Programmiersprache reichen aber aus, um gut damit zurechtzukommen. Mindestens nehme ich die Inhalte so wahr und ich bin bei weitem kein Profi in diesen Dingen, höchstens ein interessierter Amateur. Die Einleitung halte ich für sehr gelungen, denn darin bekomme ich sauber erklärt, was CakePHP ist, wozu ein Framework dient und welche Mittel ich brauche, um damit arbeiten zu können. Im Anschluss an die Einleitung folgen dann die Anweisungen und Tipps zur Installation, welche für Linux, Mac und sogar Windows erklärt werden. Dabei kommt nicht nur das Framework an sich zur Sprache, sondern auch die Datenbank, der Webserver und der PHP-Interpreter. Ich weiss zwar bis heute nicht, was PHP auf einem Windows-Rechner zu suchen hat und weshalb ein Apache auf dieses Betriebssystem gezwungen werden soll, aber das soll ja nicht meine Sorge sein. Wer ein WAMP haben will, soll es sich halt zurechtschustern. Leider wird im Buch die Installation von der CakePHP-Konsole für Linux mit keinem Wort erwähnt, bloss Windows und Mac werden behandelt. Dort stehe ich im Moment noch etwas vor dem Berg, aber das werde ich noch lösen.

Völlig neu war mir auch, dass CakePHP ein Abbild eines Frameworks ist, das sich bei Ruby wiederfindet. Ruby on Rails hat ja der Programmiersprache Ruby zu einer richtigen Renaissance verholfen. Es ist ein Framework eben für Ruby, das sich sehr erfolgreich verbreitet hat. CakePHP soll in etwa dasselbe für PHP sein.

Danach wird Schritt für Schritt mittels einem imaginären Projekt jede Funktion vom Framework besprochen und mit “lebendigen” Beispielen erklärt. Zuvor lernen aber die Leser noch eine Menge wichtiger Fakten über die Arbeitsweise von CakePHP. Für besonders spannend halte ich das Grundprinzip MVC, welches dafür sorgt, dass die Datenhaltung, die Darstellung und die Logik sauber voneinander getrennt werden – WordPress lässt grüssen… Aber auch DRY finde ich essentiell wichtig, denn ich wiederhole mich wirklich nicht gerne beim Coden; das ist langweilig und das Resultat birgt grosse Fehlerquellen in sich. Die Beispiele und Erklärungen im Buch weisen eine hohe Qualität auf und der Lerneffekt ist – mindestens bei meiner suboptimalen Intelligenz – sehr hoch. Es macht Spass, mit diesem Buch zu lernen.

Auch AJAX ist ein Thema in diesem Buch. Soweit bin ich aber noch nicht vorgestossen, ich habe aber gesehen, dass mitunter auch DHTML besprochen wird. Das ist ein heikles Thema, besonders die Barriere-Freiheit ist dort gefährdet. Ich bin gespannt, was dort zu lesen ist.

Für meine Tests und kleinen Applikationen habe ich die Installation von CakePHP auf meinem Server zu Hause durchgeführt. Das ist ein Uralt-PC, auf dem ein Ubuntu-Server 8.10 rennt. Die Maschine ist von aussen nicht zu erreichen. Ich mag es nicht besonders, wenn ich auf meinem Notebook PHP, MySQL-Server, Apache, PHPMyAdmin und allenfalls weitere Dienste sowie das Framework installieren soll. Genau für solche Anforderungen besitze ich noch immer diesen alten PC, der wohl aus dem Jahre 2003 stammt. Allenfalls braucht es noch das CLI-Paket für PHP:

sudo apt-get install php5-cli

Grundsätzlich könnte man unter Ubuntu das gesamte Framework über die Paketverwaltung installieren. Das habe ich aber nicht getestet, zumal andere Komponenten benutzt werden als Apache und Konsorten.

Zusammen mit diesem Buch kann ich mich mindestens in das Framework einarbeiten. Wer sich für CakePHP interessiert und noch nicht alle Feinheiten kennt, dürfte mit diesem Buch gut bedient sein. Aber auch Leute, die das Framework noch gar nicht kennen, aber das nötige “Meta-Grundwissen” mitbringen, werden damit sofort zurechtkommen.

Noch ein Satz zum Buch selbst, also zur Bindung: Ich kenne sehr viele verschiedene Buchbindungen, habe auch schon selbst Bücher gebunden. Ich werde es einem Buchbinder niemals verzeihen, wenn er kein Buchzeichen – in Form eines Stoffbandes, das im Rücken verleimt ist – einsetzt. Bei einem Buch dieser Preisklasse gehört mindestens ein Buchzeichen dazu. Die Bindung an sich ist sauber und qualitativ in Ordnung, aber es ist eben doch keine Deutsche Wertarbeit, wenn das Buchzeichen fehlt.

Webentwicklung mit CakePHP trägt die ISBN-Nummer 978-3-89721-863-5 und ist im Handel für ungefähr 30 Euro zu haben.

Ähnliche Artikel

Die Vorteile von Wikis

In einem etwas improvisiertem Umfeld zeichneten Dirk und ich am vergangenen Sonntag die zehnte Folge unseres Projekts Deimhart auf. Der Root-Server, auf dem auch die Site deimhart.net zu Hause ist, fiel am Samstag aufgrund eines Hardware-Fehlers aus. Inmitten der Wiederherstellungsarbeiten nahm sich Dirk die Zeit, unsere Folge aufzuzeichnen. Mit erstaunlicher Ruhe; mindestens äusserlich.

Wir entschieden uns im Vorfeld für das Thema Wiki und stellten unsere Notizen auf unserem internen trac-Wiki zusammen. Doch leider stand uns das infolge des Ausfalles nicht zur Verfügung und bis zum Zeitpunkt der Aufzeichnung unserer zehnten Sendung druckte weder Dirk noch ich die Wiki-Seiten aus. Also besprachen wir das Thema mehr oder wenige auswendig aus dem Kopf, was uns meiner Meinung nach ganz gut gelang.

Zur Vorbereitung nahm ich das Buch Wikis und Blogs von Christoph Lange zu Hilfe. Das Buch ist aus dem Jahre 2007, mindestens die erste Auflage, und bietet aber immer noch recht aktuelle Daten und Informationen zu den verschiedenen Wikis. Ausserdem nutzen wir – wie soll es bei diesem Thema auch anders sein – wikipedia und die Inhalte zu den verschiedenen Wikis.

Wir freuen uns auf die Feedbacks und offen, dass wir einen kurzen Ein- und Überblick in die Welt der Wikis ermöglichen konnten. Die aktuelle Folge Nummer zehn gibt es hier zum Download, wie immer als mp3 und ogg-Datei.

Ähnliche Artikel

Exotische Linux-Distributionen – Nova Linux

Zum gleichen Zeitraum als ich die Blogparade rund um die exotischen Linux-Distributionen gestartet habe erschien bei pro-linux ein Artikel zum kubanischen Nova Linux. Schon kurz darauf erreichten mich per Mail Wünsche, diese Distribution doch in die Blogparade aufzunehmen. Es stand eigentlichimmer ausser Frage, dss wenn einer kommt und sagt ich hab da noch wirklich eine interessante Linux-Distribution und möchte diese gerne vorstellen, diese nicht in die Blogparade aufzunehmen. Nun ist es das erste mal soweit, Michael der den meisten Ubuntuusern eher als majestyx bekannt, hat sich daran gemacht Nova Linux vorzustellen.

Nova Linux stammt wie bereits erwähnt aus Kuba und wird dort an der Universität für Informatik entwickelt um das Land aus der Abhängigkeit von Microsoftprodukten zu befreien. Nova Linux basiert zum größten Teil auf Gentoo nutzt aber auch Technologien aus anderen Gentoo basierten Distributionen. So kommt zum Beispiel aus Sabayon das binary package management zum Einsatz. Einige Werkzeuge stammen auch aus dem argentinischem Ututo Linux, das strikt auf Gnu-Werkzeuge setzt. Nova Linux verfügt über ein umfassendes Administrationswerkzeug “Panel o Centro de Control de Nova” geannt, ein grafisches Paketmangagment-Tool namens Summon. Die Standarddesktopumgebung ist Gnome daneben gibt es aber auch XFCE oder KDE. Außerdem gibt es eine Eigenentwiklung namens Guano für leistungsschwächere Rechner, die Openbox als Windowmanager mit einem XFCE4-Panel und PCmanFM als Dateimanager zusammen einsetzt.

Rundum ist auch die Integration in Windowsnetzwerkumgebungen, auch hier hat man so einige Entwicklungen geleistet. Mit einem Werkzeug namens Ecumenix läßt sich Nove in Active Directory integrieren und mit Capoeira integriert man Verzeichnisse auf Samba-Servern. Michael geht in seinem Artikel noch auf einige andere Dinge ein und umreißt die Gegenbenheiten, die in Kuba in punkto IT herrschen. Er hat die Distribution in einer virtuellen Maschine ausprobiert und ist auch gerne bereit, das entsprechende ISO auf Zuruf bereitzustellen. Da der Download wegen der schwachen Anbindung Kubas ans Internet doch sehr langsam ist.