dedlfix: PHP SESSION und jq Ajax

Beitrag lesen

Tach!

<ul>

<?PHP for ($i=1; $i<=10; ++$i) { ?>
  <li><?PHP echo $i; ?></li>
<?PHP } ?>
</ul>


> erzeugt  
> ~~~html

<ul>  

>   <li>1</li>  <li>2</li>  <li>3</li>  <li>4</li>  <li>5</li>  <li>6</li>  <li>7</li>  <li>8</li>  <li>9</li>  <li>10</li>  
> </ul>

Nein, der Zeilenumbruch hinter dem </li> landet in der Ausgabe.

Mir fällt eine Stelle ein, an der dieses Feature nützlich ist: am Ende einer Datei, wenn der PHP-Kontext mit '?>' beendet wird und korrekterweise ein Newline folgt.

Was ist daran korrekt oder auch nicht? Gibt es eine Vereinbarung, dass (Text-)Dateien mit Zeilenumbruch aufzuhören haben?

PHP ist jedoch selbst schon eine Template-Engine und als solche darauf ausgelegt, dass der Code einerseits in HTML eingebettet und andererseits mit HTML-Editoren bearbeitet werden kann. Dazu muss es sich zwangsläufig an die HTML/SGML-Syntax halten.
Ich hatte mit meinem Lieblings-Editor (vim) kein Problem damit, Mason- und Ecpp-Code zu bearbeiten. Dann ist es also kein Fehler der Sprache, sondern es sind unzureichende Fähigkeiten deines Editors?

Es ging damals kaum um meinen oder deinen Editor. Sei mal etwas weniger egoistisch und denk mal, was auch andere nützlich finden könnten. Natürlich kann ein einfacher Texteditor einfachen Text bearbeiten. Das <?php ?> ist ein Entgegenkommen an beispielsweise WYSIWYG-Editoren, die damals logischerweise weder was von PHP gehört haben konnten, noch in Zukunft für alle möglichen in HTML eingebetteten Sprachen eine eigene Unterstützung implementieren können/wollen/wasauchimmer.

PHP ist kein HTML/SGML. Deshalb gibt es keine Notwendigkeit, dass sich PHP beim Kontextwechsel an dessen Notationsweisen hält.

Ich hab nicht behauptet, dass es HTML/SGML ist, sondern dass es sich gemäß dessen Regeln dahinein einbettet. Wenn dir das nicht zusagt oder obsolet erscheint, steht es dir frei, einen Änderungswunsch in der Entwickler-Community zu platzeren.

dedlfix.