Einmal in Ruby:
Geht aber sicher sogar noch einfacher.
Netter Artikel, einige ganz witzige Sachen drin. ^^" Hat mich wieder an dieses herrliche Video erinnert, das deutlich kürzer und unterhaltsamer ist.
Ernstgenommen krankt seine Argumentation allerdings stark dran, dass er nicht objektiv rangeht, sondern offensichtlich alles versucht, als Schwäche von PHP auszulegen. Man kann sich nicht gleichzeitig darüber beschweren, dass es die wirrsten Funktionalitäten hat, und dass es nicht sämtliche Funktionaltitäten hat, die jemals irgendeine andere Sprache hatte.
Grundsätzlich hat er aber natürlich recht. PHP ist absolkut grauenhaft. Jetzt kann ich's allerdings einfach schon viel zu gut, um auf was anderes umsteigen zu wollen. ^^""
--A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
PHP ist nicht besonders gut, aber richtig schlimm ist, was manche Leute mit PHP anstellen.
Wir verwenden in der Firma WordPress.
Jetzt haben wir seit Neuestem das Problem, dass Leute unsere wp-comments-post.php extern aufrufen und Unsinn damit anstellen. Wer hätte es gedacht? Ein WordPress, das zugespammt wird. Das mußte ja so kommen.
Da wir gerade nicht in der Lage sind, ein Plugin wie Antispam Bee zu integrieren, wollen wir eine einfache Lösung verwenden. Datei ins Theme verschieben, Aufrufe im Kommentarformular anpassen, Original per .htaccess sperren, fertig.
Aber WordPress wäre nicht WordPress, wenn es so einfach wäre. Seit der Artikel gepostet wurde, hat sich die Struktur von WordPress geändert. In WordPress 3 ist nicht länger das Theme dafür zuständig, das Postformular zu erzeugen, sondern der WordPress-Kern.
Der Kern ist dafür zuständig, ein Formular zu erzeugen.
MVC, motherfucker. Have you even heard of it? Aber hey, wer kann schon MVC von einer Codebase verlangen, die schon Schwierigkeiten damit hat, auch nur prozedural zu sein? (Protip: Wenn man eine Funktion schreibt, die auf Daten arbeitet, dann sollte man ihr auch alle Daten als Parameter geben und nicht von einem halben Dutzend globalen Variablen abhängig sein. Ich sehe dich an, get_the_content().)
Wenn ihr Schmerzen mögt, dann seht euch mal die zuständige Datei an und scrollt zu der Funktion ab Zeile 1510. Ja, der WordPress-Kern beinhaltet fiesestes PHTML und sie haben die Funktion nicht mal pluggable (= von Themes und Plugins überschreibbar) gemacht. Wenn du nicht vorhast, die komplette Funktion nachzubauen und damit deinem Theme eine Abhängigkeit auf eine interne Funktion von WordPress zu geben, kannst du nicht mal entscheiden, ob du das Formular in HTML oder XHTML kriegst; das hängt von der WordPress-Version ab.
Wer kommt auf so was? Wer denkt sich "Hey, bisher haben wir diese View-Funktion im View, aber ich finde, daß sie im Controller viel mehr Sinn macht"? Okay, WordPress hat einen Haufen Legacy-Code, aber warum haben sie das Design wissentlich schlechter gemacht? Das ist Erstsemester-Niveau und nicht Code, den man in einer der erfolgreichsten Softwareplattformen der Welt erwartet.
Meine Fresse.