Ich bin vor <?= ?>
kurzem auf dieses PHP-Tag gestoßen, und ich zögere, es zu verwenden, aber es juckt so stark, dass ich Ihre Meinung dazu haben wollte. Ich weiß, dass es eine schlechte Praxis ist, kurze Tags zu verwenden, <? ?>
und dass wir <?php ?>
stattdessen vollständige Tags verwenden sollten, aber was ist mit diesem <?= ?>
:?
Es würde Tipparbeit ersparen und die Lesbarkeit des Codes verbessern, IMO. Also stattdessen:
<input name="someVar" value="<?php echo $someVar; ?>">
Ich könnte es so schreiben, was sauberer ist:
<input name="someVar" value="<?= $someVar ?>">
Ist die Verwendung dieses Operators verpönt?
echo
sehr leicht zu XSS führt und Sie sich besser auf die kontextbezogene Echomethode verlassen sollten (dh ein function html($x) { echo htmlentities($x,...); }
und un html($someVar);
anstelle von echo $someVar
oder echo json_encode($x);
für den JS-Kontext verwenden). Dies macht <?=
Tags dann zu einer schlechten Praxis, da dies bedeutet, dass Sie den Variableninhalt an einer anderen Stelle mit HTML-Escapezeichen versehen haben und an einer anderen Stelle magisch wissen müssen, dass diese Variable mit HTML-Escapezeichen versehen sein muss, da sie im HTML-Kontext wiedergegeben wird.