2009-11-01 4 views
5

PHP ermöglicht es mir zu:Abschlussanweisung mit; oder nicht?

Hello, my name is <?php echo $name ?>, and stuff. 

Ist das in Ordnung statt

Hello, my name is <?php echo $name; ?>, and stuff. 

ich die <?= ?> wissen zu tun, weg genommen wird, dann ist dies ein weiterer von diesen Verknüpfungen getötet werden?

+2

Die korrekte Syntax ist natürlich ' ... – bobince

+0

Es ist über mich hinaus, warum Sie 32 Zeichen (ohne den tatsächlichen Wert) eingeben müssen, um eine der häufigsten Operationen in PHP auszuführen (ausgecheckten Inhalt in HTML drucken). – gahooa

+0

Ich mache das ganze Zeug in einem Controller, also ist mein Code so gut wie er ist: P –

Antwort

11

Es ist technisch in Ordnung, aber die meisten Leute werden dagegen empfehlen. Es ist ein "Best Practices" -Problem. Wenn Sie sich angewöhnen, das Semikolon in einzelnen Codezeilen zu belassen, ist es wahrscheinlicher, dass Sie vergessen, es in größeren Codeabschnitten zu tun, in denen es erforderlich ist.

+0

Gut zu wissen, danke. –

0

Ich würde zählen nicht auf es legal ist, da so etwas wie das ist legal:

<?php 
    if($do_display) { 
?> 
    <div id="display"> 
    </div> 
<?php 
    } 
?> 

IMO, das ist eine schreckliche Art und Weise Seiten zu entwerfen, aber ... da das legal ist, würde es mich führen zu glauben, dass der Parserstatus zwischen den Blöcken beibehalten wird, sodass die Verknüpfung möglicherweise nur für einen Block funktioniert. Das ist ein ungeprüfter Bauchschuss, aber ein gebildeter. (Wenn es jetzt funktioniert, wird es vielleicht nicht bald, wir sehen, was mit <?= ?> passiert.) Könnte auch einfach das Semikolon fallen lassen und es overwith bekommen.

0

Es ist nicht so sehr eine Abkürzung wie es eine schlechte Angewohnheit ist, die der Dolmetscher nicht genug tun, um zu entmutigen.