Raketenwilli: Serie: „Und wieder was gelernt“ - Heute: PHP heredoc und Einrückungen

Beitrag lesen

Schon mal probiert, das beendende EOT an den Zeilenanfang zu setzen? Ich weiß, ist nicht mehr notwendig seit 7.3.0,

Ok. Das war mir neu.

Also testen!

<?php

echo <<<FOOTER
    </body>
  </html>
    FOOTER;

Ergebnis: Fehler!

Parse error: Invalid body indentation level (expecting an indentation level of at least 2)

Hm. Nachlesen.

<?php
echo <<<FOOTER
    </body>
  </html>
FOOTER;

Ergebnis: Nicht optimal.

    </body>
  </html>

Aber laut Handbuch darf die Weite der Einrückungen die des umfassten Textes (gemeint wohl die am wenigsten eingerückte Zeile) nicht überschreiten. Was passiert eigentlich, wenn ich das genau nehme?

<?php
echo <<<FOOTER
    </body>
  </html>
  FOOTER;

Ergebnis: Suppi!

  </body>
</html>

Bingo! PHP korrigiert dann die Einrückung!

  • view-source:https://home.fastix.org/Tests/userinfo.php
  • https://home.fastix.org/Tests/userinfo.phps (Das ist „harter“ Link auf die userinfo.php)

Das kann man gebrauchen um wenig Streß beim Abgleich der Einrücktiefe zwischen PHP und dem resultierenden HTML zu haben. Macht die Sache übersichtlicher.

Wieder was Nützliches gelernt!

Nachtrag: Der Apache kann es übrigens als PHP-Source darstellen:

Heredoc mir Einrückungen, Ansicht als PHP-Source  im Apache