Es ist möglich, das abschließende Semikolon in einem Tag wegzulassen .
Beispiel:
<table>
<th><td>Name</td><td>Email</td>
<? foreach ($receivers as $receiver): ?>
<tr>
<td><?= $receiver->name ?></td>
<td><?= $recevier->email ?></td>
</tr>
<? endforeach ?>
</table>
Beachten Sie das <? endforeach ?>
ohne Semikolon nach endforeach
. Die PHP-Dokumentation sagt:
Das schließende Tag eines PHP-Codeblocks impliziert automatisch ein Semikolon. Sie benötigen kein Semikolon, das die letzte Zeile eines PHP-Blocks beendet.
Warum spreche ich dieses Thema an?
Derzeit arbeiten ich und ein Freund von mir in einem proprietären PHP-Projekt mit MVC (Model-View-Controller). Für die Ansicht habe ich einige PHP-Template-Engines wie Smarty, Moustache evaluiert und sogar meine eigene Template-Engine entworfen. Aber wenn ich lese , dass PHP eine Template - Engine ist in sich etwas ging « Klick » in meinem Kopf. Warum nicht einfach im Team vereinbaren, eine begrenzte Teilmenge von PHP als Template-Engine zu verwenden? Und viele Codeüberprüfungen, um die Regeln einzuhalten?
Und diese Untergruppe könnte so aussehen:
- Verwenden Sie nur kurze Tags
<?
,<?=
und?>
- Verwenden Sie nur einfache Ausdrücke ohne Nebenwirkungen, insbesondere weisen Sie keine Variablen zu
- Verwenden Sie nur
if
,foreach
undinclude
für Aussagen - Verwenden Sie nur die alternative Syntax für Kontrollstrukturen
- Haben Sie jeweils nur eine Anweisung in einem Tag
Dies ist der Kontext , in dem wir das abschließende Semikolon sind weggelassen, und zwar für <? endforeach ?>
, <? endif ?>
und <? include("list-contents.php") ?>
.
Ich habe jedoch oft gelesen, dass das Weglassen von terminierenden Semikolons eine schlechte Praxis ist. Warum? Ist es überhaupt eine schlechte Praxis?
Ich bin froh, dass PHP das Weglassen des abschließenden Semikolons erlaubt, da dies die visuelle Unordnung in den Vorlagendateien minimiert. Sie sollten meistens wie HTML-Dateien mit nur winzigen PHP-Fragmenten hier und da aussehen. Das obige Beispiel ist das, wonach ich strebe.
Was denkst du darüber? Wenn Sie dagegen sind: warum? Wenn Sie es unterstützen: Warum wäre es eine gute Idee? Was soll ich meinem Partner sagen, wenn er mir einen Text gegen das Weglassen des Semikolons überweist?
Bitte stützen Sie Ihre Meinung mit Fakten, Referenzen oder Ihrer eigenen Erfahrung.