Tom: unlogisches Verhalten von PHP?

Beitrag lesen

Hello,

Wenn du bedenkst, dass sämtlicher Text, der außerhalb der PHP-Tags steht, als "echo 'Text';" aufgefaßt wird, wirst du einsehen, dass alles ganz logisch ist.

Logik ist so eine Sache, wenn man die Freiheitsgrade und Rahmenbedingungen nicht kennt...

Das entscheidende Element ist ja wohl die öffnene Blockklammerung innerhalb eines Parser-Bereiches.

<?php         bedeutet, fange hier an, den folgenden Code zu interpretiern

{           bedeutet, hier fängt ein neuer Block an, eine Unterebene zum letzten Block

?>        bedeutet innerhalb der Blockklammerung, dass der folgende Code nicht mehr
              interpretiert wird

<?php     fange hier wieder an zu interpretieren

}           gehe in die darüberliegende Programmebene zurück

?>            höre wieder auf zu interpretieren

Da ein Script im Interpretationslauf immer Top-Down abgearbeitet wird, beginnend vom beim "Einsammellauf" ermittelten "Program Entry Point", kommen bestimmte Passagen eben gar nicht in den Focus des Interpreters, wenn die entsprechende Bedingung nicht erfüllt ist.

Trotzdem halte ich die Verwendung dieser Möglichkeiten (bedingtes HTML) für unprofessionell.
Selbst bei der Heredoc-Syntax, die etwas ähnliches bewirkt, geht die Übersicht oft noch verloren und außerdem funktioniert sie auch nur unter Berücksichtigung der zum OS passenden Zeilenende-Sequenz fehlerfrei.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau