Buchtipp: PHP für WordPress
Nachdem der Lynchmob gestern doch nicht auf mich los gegangen ist und auch erstaunlich wenige Trolle meinen Blog besucht haben, kann ich ja heute in Ruhe meinen neuen Artikel schreiben. Heute geht es mal wieder um ein Buch, dass den Weg auf meinen Schreibtisch gefunden hat. Dabei handelt es sich um „PHP für WordPress“ von Clemens Gull. Das ganze ist im Franzis Verlag erschienen.
Die Idee hinter diesem Buch ist Templetes und Themes in WordPress so anzupassen, wie es die Macher sich gedacht haben. Mein erster Gedanke war „hmm Themes, dass ist doch eigentlich die View und die darf keine Logik haben“. Stimmt ja auch und Clemens macht da auch keine Ausnahme. Das Buch bezieht sich wirklich auf den Umgang mit den von WordPress zur Verfügung gestellten mitteln. Wer also ein Buch erwartet, dass einem erklärt, wie man für WordPress Plugins runterhacked, der muss ein anderes wählen. Ok, jetzt wissen wir, das das Buch nicht abdeckt. Aber was steht denn dann in den über 350 Seiten drinnen?
Gull beschränkt sich wirklich auf die Erstellung von Templates. Welche Terminologie wird verwendet, welche Hierachien bei der „Vererbung“ der Templates gibt es, was bietet mir WordPress out-of-the-box und vielen mehr. Dabei finde ich besonder schön, dass erst mal auf eine gute Entwicklungsumgebung eingegangen wird und kurz die Vorteile einer IDE erklärt werden (schön knapp). Ansonsten sind die Themen, die besprochen werden recht ähnlich der Codex Seiten der WordPress Macher. Leider muss ich sagen, dass ich oft bei Codex passen musste und mir eine andere Quelle gesucht habe.
Ich würde eine Empfehlung für dieses Buch auf jeden Fall für die Leute aussprechen, die 30 EUR übrig haben und gerne mal das Template System von WordPress komplett ausreizen wollen. Da ich selbst gerade ein wenig Layoute habe ich schon öfters den Blick in das Buch geworfen, um mal etwas nachzuschlagen und wenn man mal ganz ehrlich ist, dann ist das WordPress System absolut nicht eines, der am intuitivsten zu benutzenden.
Noch als kleine Anhang. Das Buch ist nicht für PHP Profis geschrieben, dafür wird zu oft auf wirkliche Basics eingegangen. Allen anderen sei es aber ans Herz gelegt, wenn er oder sie den oben genannten Kriterien entspricht.
Ganz ehrlich .. aber für WordPress hilft halt auch kein Buch mehr. Ich hatte längere Zeit damit nichts mehr gemacht, und dann kürzlich mal wieder was.
Soviel Code-Grütze hab ich schon sehr lang nicht mehr gesehen .. sobald man da mal einsteigt, sollte man jegliches wissen über OOP einfach getrost beiseite legen .. Loops, globale Variablen, und dergleichen – mir wird leicht übel wenn ich daran denke 🙂
So … hoffentlich genug getrollt für Freitag, dass hier endlich mal was losbricht ;>
Hm, das scheint mir ziemlich sinnvoll zu sein. Bücher über den Einstieg in [hier Blog oder CMS einsetzen] gibt es wie Sand am Meer. 90% erklären dann nochmal, wie man es installiert und erste Schritte darin macht. Ich denke, das sollte jemand, der sich sowieso in diesem Feld (beruflich) bewegt, auch ohne Buch hinkriegen…
Hier scheint das anders zu sein, wo doch etwas Spezielles eines Systems unter die Lupe genommen wird und das finde ich gut. Buch ist vermerkt, vielen Dank für den Hinweis! 🙂
Tja, das ist immer das Leid solcher Software: keiner traut sich, das ganze mal auf stabilere Beine zu stellen. Das MediaWiki ist (oder war?) da auch so ein Fall. Allerdings hab ich mir das auch schon länger nicht mehr angeschaut, schont die Nerven 😉
@Dennis&Steffkes: Wenn ich mich an die WordPress Schnittstellen halte, dann kann ich ohne Probleme schönen OOP Code schreiben. Ist zumindest meine Meinung. Wie WordPress intern aussieht, ist mir eigentlich im Moment egal, da ich den Kern ja nicht anfassen muss. Wenn das ganze ins Extreme ausartet (System kacke und Code kacke), dann würde ich meine Meinung vll. anpassen.
Eigentlich wollte ich heute Morgen schon auf dem iPhone zu dem Thema schreiben, bekam dann aber einen Anruf und habs vergessen 😉
Deswegen nochmal aus dem Gedächtnis: Mir geht es gar nicht mal um das Buch sondern um WordPress. Ja, WP sieht im Kern aus wie Kuddelmuddel, ja WP ist alles andere als Intuitiv und ja WP hat viel schlechten Stil im Code verbraten. Aber: WP funktioniert – und zwar sehr gut! Und das ist allein schon Entschuldigung genug!
Nichtsdestotrotz: Mich hat es auch angenervt, und auch wenn man sich sein Theme „schön“ schreiben kann: Hinter den Kulissen werkelt noch eine archaische Maschine 😉
Wie sieht es eigentlich Inhaltlich aus?
Ich vermute mal, das sich der Autor an der Version 2.8 gehalten hat, oder hat er schon die neuen Features von der (hoffentlich) sehr bald kommenden Version 2.9 berücksichtigt?
http://codex.wordpress.org/Version_2.9
Nils .. also wenn ihr mal so gerade beispielhaft folgenden Code aus WP-Codex zieh, dann sieht man glaub ich schon recht deutlich wovon die Rede ist:
http://codex.wordpress.org/The_Loop#Exclude_Posts_From_Some_Category
Und klar .. es geht immer anders .. aber es geht ja mal primär drin, wie man’s vorgemacht bekommt – und daran hapert es hier eindeutig in meinen Augen 🙂
@Steffkes: Findest du den Code wirklich so schlimm? Sieht doch so aus, wie jedes Template, das PHP als Template Engine verwendet, oder?
Ich finde den Code auch ziemlich arg.
Arbeite gerade an einem neuen Style/Template für mein Blog und tu mir da ziemlich schwer.
Bei mir zumindest liegt es wohl daran, das ich die letzen Monate falls nicht sogar Jahre, soetwas einfach nicht mehr benutzt habe.
Egal ob nun ZF, cakephp oder vBulletin, alle haben ein (eigenes) Templatesystem bzw trennen die Programmierlogik von der Ausgabe.
Nils, das ist jetzt hoffentlich nicht dein Ernst ;o> Funktionen die Variablen in den globalen Namespace werfen, andere Funktionen die wiederum von da aus mit diesen/weiteren Variablen arbeiten … ich find sowohl den Code als auch die Art zu Arbeiten relativ ekelhaft.
Klar isses relativ nah dran an dem was „alle anderen Template-System auch machen“ .. aber es gibt halt doch noch nen unterschied wie man eine Schleife macht .. und wie man mit Variablen umgeht.
Auch so Kleinigkeiten wie get_the_content() vs. the_content() .. sowohl von der Funktion als auch von Naming, das natürlich nicht konsequent durchgezogen ist 🙂