Matthias Scharwies: Wiki-Push: PHP

Beitrag lesen

Servus!

Hallo Matthias,

nein, das sehe ich anders. Wir sollten versuchen, best practices vorzustellen.

Das sehen wir genau so! 😀


Exkurs: PHP und SELFHTML

Es gab immer schon PHP bei SELFHTML in Form von Blog-Beiträgen, alten Selfhtml-aktuell-Artikeln und vor Allem Fragen im Forum. Da mit php.net und damals auch selfPHP gute Dokus vorhanden waren, wurden in einem Anfall von Selbstverzwergung die wenigen PHP-Grundlagen-Artikel durch Weiterleitungen auf die weitgehend leere Portalseite PHP ersetzt. JETZT ist Zeit für einen Neuanfang!


HTML mit Echo auszugeben ist gruselig. Es führt zu Herausforderungen beim Nesting der Anführungszeichen, es hindert Editoren am richtigen Code-Highlighting, und es ist schlecht lesbar.

Abgesehen davon verleitet es dazu, die Erzeugung der Daten und die Ausgabe zu vermischen. Das ist etwas, was meiner Tante EVA gar nicht gefällt.

Und da sollten wir best practices zeigen! So wie im JS-Bereich onclick durch addEventListener und alert() durch .innerText abgelöst wurde, sollten wir diesen Generationswechsel bei PHP zeigen. Wie ich (in privaten Mails) an die Community schrub, gibt es im Augenblick eben kein zeitgemäßes PHP-Einführungstutorial (Ich hab jedenfalls keins gefunden!). Und deshalb kam das auch immer wieder im Feedback zur Sprache! Anstatt bei den Weblinks vor den verlinkten Tutorials zu warnen, sollten wir eben selbst diese best practices propagieren und vorstellen.

Ich persönlich komme mir da aber immer vor, als wenn ein Blinder von der Farbe redete. Deshalb kann ich Euch eigentlich nur bei der inhaltlichen Sortierung, Seitenverschiebung und Verlinkung helfen. (Oder bei einem Hackathon Kaffee und Kuchen, bzw Bier und Brezn bereitstellen!) Um so begeisterter bin ich, dass wir seit gestern schon einiges geschafft haben.

Gerne würde ich auch eine strikte Trennung von HTML-Template und Businesscode propagieren, d.h. man hat immer mindestens zwei PHP Dateien. Im Template gibt's hauptsächlich <?= ?>, ggf. auch mal <?php ?>, weil Templates Logik zur Steuerung der Darstellung enthalten dürfen.

Ob das Template den Businesscode included oder der Businesscode das Template, da scheiden sich angeblich die Geister, aber ich würde immer vom Businesscode das Template includen lassen.

Evtl. in einem Wiki-Artikel?

Echo-Wüsten wie bspw. in den ersten PHP-Postings von liebewinter sollte man jedenfalls niemanden lehren. Und deshalb sollte man heredoc/nowdoc bei den Grundlagen erklären, als Abschnitt "Besonderheiten bei Strings in PHP", aber nicht als Basiswerkzeug für HTML Templates. Ein heredoc-String ist interessant, wenn ich ein SQL Statement im Programm habe. Vielleicht auch für spezielle andere Zwecke. HTML-Templates per heredoc/nowdoc würde ich jederzeit kritisieren.

Also in einem Kapitel Strings im Kapitel "Aufbau von PHP Code"?

Herzliche Grüße

Matthias Scharwies

--
"I don’t make typos. I make new words."