Frameworks können einem die Arbeit bei der Programmierung von Webseiten enorm erleichtern. Wir werfen heute mit Christian Vogt einen Blick auf cakePHP.

Diese Folge jetzt anhören

Was ist CakePHP?

  1. Kurze Erklärung zum Begriff Framework
    1. Paket mit vorgefertigter Entwicklungsumgebung
    2. Frameworks sind für verschiedenste Sprachen verfügbar (JavaScript, Ruby, Python, …)
    3. Sollen meist zur schnelleren Entwicklung von Applikationen dienen
    4. Haben oft verwendete Funktionen bereits im Kern integriert um den Umgang mit der jeweiligen Sprache zu erleichtern.
  2. Angelehnt an das Framework Ruby on Rails, nur eben auf PHP-Basis
  3. Entwicklung seit 2005 durch die Cake Software Foundation bzw. der Community
  4. Open-Source / MIT-Lizenz

Kurze Faktenübersicht

  1. Sowohl kompatibel mit PHP4 als auch PHP5
  2. Unterstützung der Datenbanken MySQL, PostgreSQL und ADOdb
    Es kann zu jedem Projekt zudem eine Datenbank für die Produktion sowie eine alternative Datenbank für den Prototypen hinterlegt werden
  3. Saubere URL-Struktur bereits integriert (domain.de/controller/action/parameter)
    Eigene URL-Layouts können über die Routes-Config angepasst werden
    Es können beliebig viele Parameter an die jeweilige Action übergeben werden
  4. Auch für Nicht-PHP-Profis geeignet
    Gute Einstiegstutorials / Weblogs und Screencast zu verschiedensten Themen
    Basiskenntnisse sollten jedoch vorhanden sein, ebenfalls ein Verständnis für OOP
  5. Minimale Einstiegskonfiguration, vieles läuft über „Naming Conventions“
    Naming-Conventions arbeiten automatisch über die Modelnamen
    Models werden immer im Singular angelegt z.B. User
    Controller werden im Plural angelegt z.B. Users
    View werden nach den jeweiligen Aktions angelegt, z.B. in /app/users/add.thtml
    Die zum Model gehörige Datenbank muss im Plural angelegt werden, also z.B. tbl_users
  6. Klare Strukturierung durch MVC-Prinzip (Model, View, Controller)
    Trennung von Abhängigkeiten, Programmcode und Output in strikte Ordnerstrukturen
  7. Integrierte Helper für HTML, JavaScript, Ajax, Formulare…
    Helper können bestimmte Einbindungen vereinfachen
    Bilder können somit z.B. mit einem automatisch generierten Pfad eingebunden werden
    Javascript und CSS-Dateien können ebenfalls automatisch geladen werden
    Flash-Messages können für kurze Statusberichte schnell und einfach genutzt werden
  8. Validierungs-Modul zur automatischen Datenprüfung
    Im Model können direkt Regeln für die einzelnen Datenfelder hinterlegt werden
    Wird in einem abgesendeten Formular eine der Regeln verletzt, so bricht dieses automatisch ab und kann eine Fehlermeldung hervorrufen.
  9. Scaffolding
    Verspricht kurze Arbeitszeiten bis zum ersten Prototypen
    erstellt aus den aktuellen Datenbankfeldern vorgefertigte Actions bzw. Formulare für Add, Edit, List und Delete.
    Sollte wirklich nur bei der Erstellung eines ersten Prototypen verwendet werden, da individuelle Layouts für die Actions mit Scaffolding nicht erstellt werden können.
  10. Eingebauter Caching-Komponente zum beschleunigen der Applikation
    Vom Interpreter geparste Views können automatisch für einen angegebenen Zeitraum (z.B. eine Stunde) auf dem Server gecached werden, um somit die Rechenzeiten zu verkürzen.
    Sollten während des Zeitraums Änderungen an der Datenbanktabelle gemacht werden, so wird der Cache automatisch aktualisiert
    Einzelne Objekte die Ständig auf dem aktuellen Stand bleiben müssen können durch vom Cache ausgeschlossen werden
  11. eingebautes Filtern von durch Formulare eingespeisten Schadcode
    Cross Side Scripting wird in vielen Fällen schon durch den Cake-Core herausgefiltert
    Möchte man auf Nummer sicher gehen kann man auf die Sanitize-Klasse zurückgreifen um schadhaften Code aus einem String zu entfernen.
  12. Benötigt werden: LAMP bzw. WAMP-Umgebung, Erfahrung in OOP von Vorteil, lernt man jedoch spätestens während der Nutzung meist eh sehr schnell, mod_rewrite-Modul wenn saubere URLs benötigt werden, ist jedoch kein Muss

Die MVC-Architektur

Model

  1. Regelt automatisch mögliche Abhängigkeiten zwischen den Tabellen (z.B. über benötigte Join-Abfragen)
  2. Stellt Methoden zur Datenverarbeitung aus der Datenbank bereit
    Beispiel:
    $this->User->findByName($alias) = Select * from users where name = '$alias';
  3. Ist für die Validierung des Datenmaterials verantwortlich

Controller

Regelt die einzelnen Actions und das Verhalten des jeweiligen Models.
Beispiel:
Model|User (Singular)
Controller|Users (Plural)
Actions|add, edit, delete, login, logout

Würde man nun in einer Cake-Applikation einen User editieren wollen, so würde die Standard-URL dafür wie folgt lauten:
http://www.domain.de/users/edit/macx

View

  1. Ist zuständig für alle Ausgaben an den Browser. Hier können auch unterschiedliche Templates und Seitenvorlagen definiert werden.
  2. Wiederkehrende Bereiche wie Infoboxen können unter den so genannten „Elements“ abgelegt um mit variablem Inhalt gefüllt werden.
  3. In der View-Ebene hat man zudem Zugriff auf die angesprochenen Helper.

Beispiel:
$html->input('User/name',array('size'=>'40'));

Dieser Code würde automatisch ein Inputfeld zum Datenfeld „Name“ in der Tabelle „users“ bereitstellen.

Links zum Thema

Christian ist selbständiger Webdesigner und lebt in Magdeburg. Seine Firmenwebseite findet ihr unter xulu.net und seinen privaten Blog unter hackthenet.de. Beeindruckt hat Christian unter anderen durch diese jQuery-Demo.

Diese Folge jetzt anhören

Tags: , , , ,

Dieser Beitrag wurde am Montag, 18. Juni 2007 um 00:00 Uhr in der Kategorie Podcast veröffentlicht.
Du kannst einen Kommentar hinterlassen, oder einen Trackback von deiner Seite aus senden.

Kommentare

  • Avatarbild von Juuro Juuro
    am 18. Juni 2007, 01:32 Uhr

    Hallo David,

    mal wieder ein sehr interessanter Podcast! :)
    Du hast im Podcast ein javaScript-Framework erwähnt. Wie schreibt man das denn? Unter jcrail und jkrail hab ich nichts gefunden.

    Viele Grüße, Sebastian

  • Avatarbild von Arne Arne
    am 18. Juni 2007, 01:58 Uhr

    @Sebastian: Er meint jQuery (-> http://jquery.com && http://www.visualjquery.com ), eine genial einfach zu bedienende Lib die ich auch schon in bestimmt 15 Projekten eingesetzt habe. Damit arbeitet es sich wirklich sehr schön und vor Allem – meiner Meinung nach – direkter als mit Prototype etc.

    @macx und Christian: Danke für den Beitrag, freut mich mal wieder von einem recht innovativen Projekt zu hören. MODx als CMS der Wahl und nun vielleicht CakePHP als Framework für die reinen Eigenentwicklung – freuen würde es mich auf jeden Fall. Ich bin gespannt :-)

  • Avatarbild von Christian Vogt Christian Vogt
    am 18. Juni 2007, 07:56 Uhr

    Nochmal danke an David für die Einladung, die Aufnahme hat echt Spaß gemacht.

    Was CakePHP angeht, so kann ich jedem PHP-Entwickler nur dazu raten, zumindest einmal einen Blick darauf zu werfen, es lohnt sich wirklich.

    Es war schwer sich in den 50 Minuten Gespräch auf das wesentlichste zu beschränken, einfach weil Cake soooooo viele tolle Features hat, dass man teilweise ganz vergisst was für den Einsteiger denn eigentlich am wichtigsten ist.

    Ich kann jedoch behaupten, das die Einarbeitungszeit wirklich kurz ist, mir viel das Entwickeln nach ca. 4 Tagen schon merklich leichter. Damit ihr bei Problemen schnelle Hilfe bekommt würde ich euch wirklich den off. IRC-Channel ans Herz legen, die Leute da stehen einem fast immer mit Rat und Tat zu Seite.

    Beim anhören ist mir gerade noch mein “Genau, Genau” doch ziemlich aufgefallen, man möge es mir verzeihen ;)

  • Avatarbild von macx macx
    am 18. Juni 2007, 12:15 Uhr

    Ist mir nicht aufgefallen. Was hoffentlich nicht sonderlich auffällt ist die Mono-Kondierung dieser Ausgabe. Die Dateigröße ist schon merklich kleiner geworden, aber schauen wir mal.

  • Avatarbild von Matthias Matthias
    am 18. Juni 2007, 16:36 Uhr

    Hat nur mein iPod (nano, 2. Generation) mit der Datei Probleme und springt nach den ersten ca. 5 Sekunden in das Hauptmenü zurück und stoppt. Erneutes Herunterladen hat nichts gebracht. Hängt das mit der Mono-Codierung zusammen? (In iTunes funktioniert das Abspielen wie gewöhnlich.)

  • Avatarbild von benem benem
    am 18. Juni 2007, 17:22 Uhr

    Klasse Podcast, bin schon seit ner Zeit am Überlegen, mir ein Framework anzusehen, und CakePHP hört sich ja offenbar recht gut an :)
    Zu Musik Pro & Contra: Ich persönlich höre Technikwürze wegen der Infos und nicht wegen der Musik, ich könnte es also verschmerzen wenn keine Musik mehr am Schluss kommt.

  • Avatarbild von Stefan Stefan
    am 18. Juni 2007, 19:55 Uhr

    Ist das eigentlich Absicht, dass die Download-Links statt zu MP3-Dateien alle zu audioads.de führen??? Ist das nicht ein bisschen zu viel der Werbung?
    Solange das so bleibt und die MP3s nicht wieder zugänglich werden, werde ich auf Technikwürze lieber verzichten.

  • Avatarbild von Christian Vogt Christian Vogt
    am 18. Juni 2007, 20:05 Uhr

    Also bei mir verweisen die Downloadlinks alle auf mp3-Dateien, keine Ahnung wo du das siehst.

  • Avatarbild von Stefan Stefan
    am 18. Juni 2007, 20:09 Uhr

    Also bei mir sieht das zunächst auch so aus, solange ich mit der Maus über einen MP3-Link fahre, aber wenn ich draufklicke scheint ein serverseitiger Redirect auf www.audioads.de zu greifen.
    Das ganze in FF 2.0.0.4 unter Windows.

  • Avatarbild von Stefan Stefan
    am 18. Juni 2007, 21:17 Uhr

    Nachtrag: In IE7 und Opera 9.21 gehen die MP3-Links, in FF 2.0.0.4 aber nicht!

  • Avatarbild von macx macx
    am 19. Juni 2007, 06:22 Uhr

    @Stefan: Ich selbst finde nirgends Werbung für Audioads, und zunächst zeigen die Links alle direkt auf diese Webseite. Bei Audioads hosten wir vereinzelnd unsere Folgen, das ist also alles richtig. Dennoch: Für den Inhalt ist das doch absolut unrelevant, oder findest du nicht?
    Klappt der Download der MP3-Datei dieses Mal gar nicht?

  • Avatarbild von Eric Eric
    am 19. Juni 2007, 07:22 Uhr

    Also ich hör mir i.d.R. die Musik auch nicht an, gerade nach den langen Folgen brauche ich das nicht.

    Die Audioqualität dieser Sendung war sehr gut, inhaltlich sowieso. Habe nichts vermisst und würde eine TW auch ohne Musik am Ende hören.

  • Avatarbild von Thomas Thomas
    am 19. Juni 2007, 13:07 Uhr

    Mal wieder ein schöner Podcast :)

    Wenn man noch mehr Zeit sparen will, empfehle ich noch einen guten Editor :) Wie z.B. VS.Php ( http://vsphp.de ) da wird sogar gerade überlegt cakePHP als Framework hinzuzufügen. Natürlich kann man auch wie ich sein eigenes Framework hinzufügen und kriegt super Intellisense was nach 5 Minuten nicht mehr weckzudenken ist :D

  • Avatarbild von Mark Mark
    am 19. Juni 2007, 13:39 Uhr

    Hallo @lle,

    mal wieder ein super Podcast! So was wie “CakePHP” hatte ich gesucht?

    Leider bekomme ich die Installation auf meinen Server nicht hin :-(

    Bis Bald

    Mark

  • Avatarbild von Matthias Matthias
    am 19. Juni 2007, 16:05 Uhr

    Kann es sein, dass der iPod mit Mono nicht zurecht kommt? Oder kann es daran nicht liegen, dass Technikwuerze zum ersten Mal nicht auf meinem iPod läuft?

  • Avatarbild von Christian Vogt Christian Vogt
    am 19. Juni 2007, 19:27 Uhr

    @Mark: Woran haperts denn? Installieren musst du eigentlich nicht wirklich etwas, du musst ihm nur sagen welche Datenbank er für deine App nutzen soll, den Rest sagt dir Cake dann eigentlich voll automatisch.

    Wenn du Probleme hast, dann schau doch in das Cake-Blog Tutorial oder komm in den IRC-Channel, die wissen einem immer zu helfen :)

  • Avatarbild von Clemens Clemens
    am 19. Juni 2007, 21:01 Uhr

    Auf meinem iPod Video 5.5G habe ich keine Probleme. Evtl. liegts an der Werbung – hörst du die?
    Versuch doch mal die Werbung zu überspringen, evtl. gehts dann?

    Zur Folge:
    Sehr schöne Folge, bitte mehr davon. Themenvorschläge: JavaScript-Frameworks, ein Ausblick auf Ruby on Rails, Zope, o.A.

  • Avatarbild von Jürgen Kappus Jürgen Kappus
    am 20. Juni 2007, 07:07 Uhr

    Hallo David, hallo Christian, hallo alle.

    1. Zur Folge:
    Super Sendung, super Thema und DICKES LOB AN CHRISTIAN. Im Gegensatz zu den (für mich als Leiter einer kleinen Agentur mit Schwerpunkten bei Barrierefreiheit und TYPO3) wenig nützlichen Beiträgen von Sascha Poster (und Daniel) kann ich mir eine Folge mit Christian gern mehrmals anhören. Ich glaube es gab in der Sendung keine Nennung von alternativen Frameworks – das hätte ich mir evtl. noch gewünscht.

    2. Zum Audioformat:
    Mono reicht mir völlig, ich lad die Sendungen mir mit nem’ Nokia 95 die direkt aus dem Internet und hör sie morgens im Auto. Auch Musik brauch ich nicht, die wird beim weiterspulen im Berufsverkehr immer zum Sicherheitsrisiko.

    Wenn ich Entertainment will hör’ ich Radio, wenn ich relevante Informationen sehr gut aufbereitet möchte hör ich Deinen Podcast.

    3. Sonstiges:
    Falls Du mal Unterstützung wie etwa Rückfragen inhaltlicher Natur oder auch durch die Stellung eines Gesprächspartners für eine Sendung brauchst, stehn’ wir mit unserem KnowHow (http://www.kamedia.de) gern zur Verfügung. So könne wir vielleicht die Qualität und das Weiterleben Deiner Sendung etwas unterstützen.

  • Avatarbild von Jürgen Kappus Jürgen
    am 20. Juni 2007, 07:10 Uhr

    Oh – das Foto (oben) ist etwas groß geraten – weiß ich eigentlich was ein “DAU” ist?

  • Avatarbild von macx macx
    am 20. Juni 2007, 07:30 Uhr

    Hallo Jürgen! Ich habe dein Bild gelöscht. Wenn du auch ein Userbild haben möchtest, empfehle ich dir für deine E-Mail-Adresse gravatar.com

  • Avatarbild von Aaron Aaron
    am 20. Juni 2007, 16:09 Uhr

    Super interessante Thematik, CakePHP werde ich auf jeden Fall in nächster Zeit mal testen.

    Zu Zeiten der Breitband-Flatrate ist mir die Dateigröße herzlich egal, natürlich präferiere ich daher Stereo-Qualität. Musik brauche ich in einem solchen spezialisierten Technik-Podcast nicht, denn dafür gibt es Musik-Podcasts.

  • Avatarbild von Stefan Stefan
    am 20. Juni 2007, 18:10 Uhr

    @macx: Heute gehen die Download-Links auch wieder mit FF.

    Was vorgestern los war, kann ich jetzt natürlich nicht mehr nachvollziehen, habe mir den Ablauf aber mal mit Firebug angeschaut: Der Download-Link verweist zunächst auf www.technikwuerze.de (für diese Folge: http://www.technikwuerze.de/blogmin/podpress_trac/web/95/0/technikwuerze77.mp3), da liegt die MP3-Datei aber offensichtlich nicht wirklich, es kommt nämlich ein erster Redirect zurück auf www.audioads.de (für diese Folge: http://www.audioads.de/files/5725/technikwuerze77.mp3), das ist aber immer noch nicht die endgültige URL, es kommt nämlich noch ein Redirect zurück auf 89.202.135.153 (für diese Folge: http://89.202.135.153/files/5725/technikwuerze77.mp3), von wo dann die MP3-Datei tatsächlich geliefert wird.

    Vorgestern schien in dieser Redirect-Kette (die, wie ich vermute, zu Zählzwecken im Zusammenhang mit der Werbung dient) irgendetwas im Zusammenspiel mit FF nicht zu passen und FF blieb wohl beim ersten Redirect irgendwie hängen oder wurde falsch weitergeleitet. Ich vermute mal, Ihr oder die bei audioads.de haben inzwischen was geändert.

  • Avatarbild von macx macx
    am 20. Juni 2007, 18:54 Uhr

    Dann scheint es also nicht an der Kodierung zu liegen. Danke.

  • Avatarbild von eckerdesch eckerdesch
    am 21. Juni 2007, 07:43 Uhr

    Ja, dann will ich mich doch auch mal zum Thema MONO oder STEREO mitteilen. Also die aktuelle Ausgabe in MONO war völlig okay und da ich, wie auch wohl einige andere, die Musikauswahl eh nicht so klasse finden (man kann es ja auch nicht jedem Recht machen), sollte man diese dann doch weglassen und dann reicht MONO doch völlig aus. Außerdem wird’s dann für den macx ein wenig günstiger, nehme ich mal an.
    Was mich aber wirklich nervt, sorry, ist dieses äußerst laute Gitarrensolo o.ä. am Anfang jeder Folge. Zum Einen viel zu laut im Gegensatzt zum Interview und dann auch nicht mein Geschmack, das ist dann aber sekundär.

  • Avatarbild von Zephyr Zephyr
    am 22. Juni 2007, 11:08 Uhr

    Boah, krass, dass keiner die Musik behalten will, wenn ich das mal so in den Kommentaren lese.

    Ich finde, die Musik muss bleiben, sie gehört für mich einfach dazu. Auch, wenn der Musikgeschmack auch nicht immer meine Nerven trifft, höre ich sie mir gerne an.
    Denn nach einem hochspezialisierten Podcast lockert sie einfach auf. Zudem kann jeder, der sie nicht gut findet, doch einfach weiterhüpfen.
    Ich persönlich würde sogar einen Schritt weiter gehen und die Musik zum Auflockern an passender Stelle mitten im Podcast ansiedeln. Ganz mutig, so wie “Filme und so” das eine ganze Weile hatten.

    David, wenn Du allerdins dazu tendieren solltest, die Musik am Ende wegzulassen, dann rationalisiere bitte auf gar keinen Fall unter keinen Umständen das absolut geile schmissige Intro!!!
    Btw: Woher ist das eigentlich???

  • Avatarbild von macx macx
    am 22. Juni 2007, 11:46 Uhr

    Das Intro von Technikwürze ist das Markenzeichen – seit der ersten Folge. Und für den Videopodcast basteln die Jungs von cre8ings eine richtig geile Videovariante. Nein, das Intro bleibt natürlich.
    Nähre Informationen über den Song gibt es hier.

  • Avatarbild von Clemens Clemens
    am 22. Juni 2007, 16:26 Uhr

    Ich wäre ja auch dafür, die Musik zu behalten, aber ich sehe schon, dass die Mehrheit dagegen ist – schade eigentlich.

  • Avatarbild von Andre Andre
    am 22. Juni 2007, 19:13 Uhr

    Liebes Team von technikwürze,

    erst seit kurzem höre ich euren Podcast (bin über den Werbeblogger Podcast auf euch gekommen). Kompliment: ihr macht das wirklich klasse, sehr interessant und professionell aufgezogen!

    Auch wenn ich derzeit in Deutschland zu Besuch bin, so höre ich normalerweise den Podcast in meiner Heimat in Kolumbien… Dort geht der Download nicht ganz so schnell von der Hand. Von daher wäre ich sehr dankbar, wenn der Podcast nur mono wäre, vielleicht könnte man sogar die Bitfrequenz niedriger einstellen. Audiobooks benötigen für eine Stunde meist nu 10 MB, während es bei Podcasts leider 50 MB sind, den Klangunterschied höre ich zumindest kaum…

    Viele Grüße,

    Andre

  • Avatarbild von Markus Delbrouck Markus Delbrouck
    am 23. Juni 2007, 08:35 Uhr

    Interessanter Podcast (-:
    Heute einmal sehr technisch. Mögliche Alternativen zu CakePHP:

    Prado: http://www.xisc.com/
    Qcodo: http://qcodo.com/
    Seagull: http://seagull.phpkitchen.com/

  • Avatarbild von pdaether pdaether
    am 25. Juni 2007, 09:32 Uhr

    Sehr schöne Folge! Bin nur durch Zufall darauf gestossen, da mein iTunes-Abo leider schon seit der Folge 60 ruht – ich finde nie so richtig Zeit , um eine Stunde Podcast zu hören, aber das sollte ich mal wieder ändern…

    CakePHP kann ich auch nur empfehlen. Habe auch schon mehrere Projekte damit umgesetzt, von kleinen Seiten bis hin zu SOAP-Transaktionsservern. Cake kann einen wirklich bei fast jedem Projekt gut unterstützen.
    Mit der aktuellen Entwicklung der 1.2-Version ist auch endlich das letzte Manko beseitigt: Fehlendes l10n und i18n.

    Kurz und Knapp zur Musik: Weglassen.

  • Avatarbild von Christian Christian
    am 2. Juli 2007, 21:59 Uhr

    Ich bin heute eendlich dazu gekommen diesen Podcast zu hören und bin echt begeistert. Mal wieder volle Ladung Informationen. Macht gleich Lust auf cakePHP selber mal auszuprobieren! :)

    Good Job!

  • Avatarbild von Etienne Schorro Etienne Schorro
    am 4. Juli 2007, 11:14 Uhr

    Also bei mono habe ich nichts vermisst.
    Mir ist aber grundsätzlich die Dateigrösse egal, kann also auch gross sein..
    Stereo und gute Bittrate finde ich zum hören langer Podcasts angenehmer weil mir sonst die Ohren sausen vom Rauschen usw..

  • Avatarbild von Gerrit van Aaken Gerrit van Aaken
    am 4. Juli 2007, 16:16 Uhr

    Ich muss mal ein bisschen rumtrollen und Besserwissen. Was mir in den letzten Episoden Technikwürze aufgefallen ist:

    • Es heißt Storyboard und nicht Storybord
    • Es heißt Steckenpferd und nicht Streckenpferd
    • Es heißt [Rubi on Räils] und nicht [Rabbi on Räils]
    • Es heißt [Käsch] und nicht [Käidsch]
    • Es heißt [Fietscher] und nicht [Fjutscher] (http://www.dict.cc/?s=feature)

    Es mag pedantisch klngen, aber der wahre Profi muss auch solche Details beachten, bitte!

    Ach ja, keine Musik für mich – ich will Infos :-)

  • Avatarbild von macx macx
    am 5. Juli 2007, 06:50 Uhr

    Ich setze mich selbst auf ein Nagelbrett und werde alle Gäste knebeln, die aus der Reihe tanzen. ;-)

  • Avatarbild von Herr Voß Herr Voß
    am 8. Juli 2007, 16:51 Uhr

    Mich würde interessieren, ob man bei CakePHP immer alles selbst programmieren muss, oder ob es schon fertige Komponenten wie Foren, Kalender usw. gibt.

  • Avatarbild von Herr Voß Herr Voß
    am 8. Juli 2007, 16:59 Uhr

    Gerrit Klugscheißen möchte ich hinzufügen:
    Scriptaculous = Skriptäckjuluhs ;-)

  • Avatarbild von Guido Guido
    am 14. August 2007, 20:13 Uhr

    Ich habe den Podcast heute beim Joggen gehört. Der Unterhaltungswert ist durchaus hoch, inhaltlich ist das fahrlässig. Ich habe nicht gezählt, aber der Beitrag hat mindesten 20 inhaltliche Fehler.

    Der interviewte “Experte” ist eigentlich “Webdesigner” und nur Nebenbei-PHP-Programmierer und hat gerade mal ein einziges Projekt mit CakePHP zu laufen. Das ist so, als wenn man jemanden, der zum ersten mal 3 km gejoggt ist, als Marathon-Experte interviewt. Gut gemeint, aber schon im Ansatz zum Scheitern verurteilt.

    CakePHP ist keinesfalls für Anfänger geeignet – zumindest dann nicht, wenn man deutlich mehr als CRUD braucht. CakePHP ist sehr mächtig. Aber es ist sehr strikt und die Dokumentation ist unvollständig. CodeIgniter wäre für Anfänger deutlich empfehlenswerter. CakePHP hat auch einen recht großen Overhead und läuft deshalb mitnichten in jedem Webspace. Die im Beitrag gelobte Validierung von CakePHP ist bisher eine der größten Schwächen von CakePHP und wird erst mit der neuen version 1.2 (aktuell Alpha) behoben.

    Ich gucke jetzt mal, wie man If-Schleifen baut… und versuche etwas über Enteities und Kehtsch zu erfahren.

    Oje.

  • Avatarbild von Guido Guido
    am 14. August 2007, 20:53 Uhr

    Ich habe es befürchtet: Die absolute Todsünde begeht Ihr natürlich auch: Kritische Kommentare werden kommentarlos gelöscht.

    Damit verliert Ihr jegliche Glaubürdigkeit. Wenn Ihr nicht kritikfähig seid und hier zensiert, dann gibt es die Kritik über diesen leider dilettantischen Podcast zu CakePHP eben noch ausführlicher an anderer Stelle.

  • Avatarbild von macx macx
    am 15. August 2007, 08:24 Uhr

    Oh je. Das muss ich sagen, wenn ich sehe, dass uns jemand uns “dilettantisch” nennt, nach mehr als 85 völlig kostenlosen Folgen. Deinen Kommentar, und das hatte ich dir bereits in einer E-Mail beschrieben, ist nicht gelöscht worden. Vielmehr habe ich Technikwürze gestern auf einen neuen Server umgezogen, was du an den IP-Adressen erkennen kannst. Deinen Kommentar habe ich nun hier nachgetragen, die Datenbanken auf den gleichen Stand gebracht.

  • Avatarbild von Guido Guido
    am 15. August 2007, 13:55 Uhr

    Die Kritik bezüglich gelöschter Kommentare nehme ich dann selbstverständlich zurück. Das gerade ein Serverumzug stattfand, konnte ich freilich nicht wissen. Das wurde nirgends kommuniziert. Den Server mit einem TTL von 86400 für den A-Record umzuzuziehen, spricht übrigens auch für sich. Da ergibt sich eben zwangsweise eine 24-Stunden-Lotterie.

    Um die Kritik noch etwas zu differnzieren: Diese Website und der Podcast sind durchaus professionell aufgemacht. Unprofessionell war es, jemanden zum Thema CakePHP zu interviewen, der laut seiner eigenen Darstellung weder ein wirklicher Experte für PHP noch für CakePHP ist. Der Podcast hat dann zwangsweise die erwartbare inhaltliche Qualität.

    Wenn man jemanden zum Thema CakePHP interviewen will, dann vielleicht vorzugsweise jemanden, der sich wirklich damit auskennt. Im deutschsprachigen Raum empfehlen sich dafür u.a. Daniel Hofstetter und Felix Geisendörfer. Beide programmieren aktiv an CakePHP mit.

  • Avatarbild von macx macx
    am 15. August 2007, 14:31 Uhr

    Danke für deine Hinweise. Ich habe mir eben den Podcast noch einmal angehört und weder hier noch im Podcast selbst haben wir von einem Experten gesprochen. Wichtig finde ich aber auch, dass wir unsere Hörer selbst interviewen, und uns anhören, was sie denn alles mit Webseiten anstellen. Das zeigt unterschiedliche Betrachtungsweisen auf und verhindert eine “Elite-Monokultur”, die ich persönlich ablehne. Denn auch für die “Vollprofis” gilt: Es wird immer wieder jemanden geben, der das besser oder smarter lösen kann.

  • Avatarbild von Christian Vogt Christian Vogt
    am 1. Oktober 2007, 09:55 Uhr

    Richtig, ich habe nie behauptet experte zu sein. Zudem sollte diese Folge lediglich zum kurzen Einstieg dienen, eben gerade für Leute die keine PHP-Profis sind, denn die werden von Cake sicherlich bereits mehr als einmal gehört haben.

    Inhaltliche Fehler? Und die Validation sei murks? Die Fehler würden mich jetzt persönlich doch stark interessieren, denn ich erzähle ungern Blödsinn :)

    Und nein, man muss kein Profi sein um CakePHP anwenden zu können, denn sonst hätte man sich nicht das Blog-Tutorial einfallen lassen, denn das richtet sich ja gerade an Anfänger. Klar, wer die Grundlagen nicht kennt sollte nicht gleich mit Cake einsteigen.

    Auf der CakePHP-Seite heißt es zudem: “Our primary goal is to provide a structured framework that enables PHP users at ALL levels to rapidly develop robust web applications”.

    Ich denke es wäre ganz gut wenn die Profis nicht immer jedes einzelne Wort auf die Goldwaage legen würden, gerade dann wenn es nur um eine kurze Vorstellung geht und nicht um direkte Praxisbeispiele.

Und was hast du zum Thema zu sagen?

Fülle bitte alle mit *-gekennzeichneten Felder aus.


Du darfst Textile verwenden, um deinen Beitrag auszuzeichen.