Sven Rautenberg: alternative Syntax für Kontrollstrukturen

Beitrag lesen

Moin!

warum sollte man die alternative Syntax für Kontrollstrukturen in z. B. "phtml-Templates" verwenden?

Wer sagt das?

Was sind Vorteile/Nachteile?

Ternäre Operatoren sind kürzer als durch Anweisungsblocke bedinge Verzweigungen aber dafür schwerer lesbar - sie sind in manchen Fällen austauschbar, in manchen aber nicht.

Du hast die Frage falsch interpretiert.

Mit der "alternativen Syntax" sind keine ternären Operatoren gemeint, sondern folgendes:

"Normalerweise"
[code lang=php]<?php if (true) { ?>
<p>true!</p>
<?php } else { ?>
<p>false!</p>
<?php } ?>
[/code]

"Alternativ"
[code lang=php]<?php if (true): ?>
<p>true!</p>
<?php else: ?>
<p>false!</p>
<?php endif; ?>
[/code]

Gesagt, dass man das so machen soll, wird unter anderem im Coding Standard vom Zend Framework. Von dem kommt auch die Dateiendung ".phtml" für die Views, die unter Auslassung jeglicher Template-Engine direkt als PHP-Skript programmiert werden - nur eben mit der alternativen Syntax.

Der Grund ist, dass die unvermeidliche Mischung von Kontrollstrukturen und Schleifen, die zwangsläufig in PHP stattfinden wird, mit direktem HTML-Output (niemand mag endloses Echo), auf diese Weise zu einer übersichtlicheren Struktur führt, als wenn man unvermittelt, vor allem bei Verschachtelungen, einfach nur auf eine schließende Klammer trifft, bei eben nicht auf den ersten Blick klar ist, ob die nun zu dem angefangenen IF, FOREACH oder SWITCH gehört.

- Sven Rautenberg