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

Schlagwörter: , , , , , , , , , ,

8 Kommentare to “Webentwicklung mit CakePHP”

  1. sebiNo Gravatar schrieb:

    Ich denke der Ruby on Rails-CakePHP-Vergleich dient eher der Veranschaulichung eines Frameworks. PHP ist ohnehin schon sehr bekannt und (vorallem bei Anfängern) recht beliebt. Zudem gibt es viele erfolgreiche Frameworks zu PHP.

    Interessant finde ich die Verbindung zu Python, da auch in der Downloadversion nichts von Python zu finden ist. Und worun besteht der Zusammenhang der beiden Scriptsprachen? Da bin ich etwas verwirrt, vielleicht kannst du mich da aufklären

  2. Roman HanhartNo Gravatar schrieb:

    Stimmt, ist mir gar nicht aufgefallen, dass Python im Paket enthalten ist. Das kommt wohl von Debian her, im sid-Paket ist Python auch dabei: http://packages.debian.org/de/sid/cakephp-instaweb und Ubuntu übernimmt das wahrscheinlich mehr oder weniger 1:1. Im Lenny-Paket ist es wiederum nicht drin: http://packages.debian.org/de/lenny/cakephp

    Da weiss ich auch keine Details dazu. Wäre aber spannend, etwas zu erfahren.

  3. JudGerNo Gravatar schrieb:

    Habe das Buch in der ersten Auflage. Leider ist es häufig so, dass die Beispiele Fehler enthalten. Meistens findet man sie recht schnell (z.B. sich ändernde Variablen) aber manchmal können sie schon ganz schön frustrieren (falscher Einsatz der Funktionen). Gibt es mittlerweile eine überarbeitete Auflage, in denen die Fehler korrigiert wurden?

    LG

  4. Roman HanhartNo Gravatar schrieb:

    @JudGer: Ja, die Auflage nennt sich zwar noch immer die 1., aber sie ist überarbeitet und fehlerbehoben. Hoffentlich sind die DInger, die Du genannt hast, geflickt.

  5. DIDIOpladenNo Gravatar schrieb:

    wamp (Windows – Apache, MySQL, PHP) also brauchst du ein lamp = (Linux – Apache, MySQL, PHP) und dafür nutzt man

    XAMPP (http://www.apachefriends.org/de/xampp-linux.html)

    Vielleicht konnte ich etwas Licht ins dunkle bringen – ich selber nutze es schon 5 Jahre!

  6. JudGerNo Gravatar schrieb:

    Noch ein Nachtrag zu der Konsole. Hoffe ich bekomme es aus den Gedanken richtig hin, habe leider momentan keinen Serverzugriff:

    im Verzeichnis $CAKE_INSTALLATION/cake/console gibt es die Datei cake. Diese mit dem execute-Bit versehen (sudo chmod +x cake) und dann kann man sie mit den entsprechenden parametern starten (z.B. ./cake bake)

    Falles es nicht ganz korrekt ist sry, werde später nochmal genauer schauen dann.

  7. Roman HanhartNo Gravatar schrieb:

    @DIDIOpladen: Was XAMP, LAMP und WAMP ist, weiss ich schon und ich nutze ja schliesslich auch LAMP, schon seit Jahren. Bloss gehört ausmeiner Sicht ein Apache, PHP und MySQL nicht auf eine Windows-Kiste. Das grenzt an Vergewaltigung.

    @JudGer: Danke, das wird mir helfen!

  8. Roman HanhartNo Gravatar schrieb:

    @JudGer: Genau, das war es! Danke.

    sudo apt-get install php5-cli

    braucht es noch und dann klappt es bestens. Super.

Hinterlasse einen Kommentar

blogoscoop Blogverzeichnis - Blog Verzeichnis bloggerei.de