Mi sono imbattuto <?= ?>
recentemente in questo tag PHP e sono riluttante a usarlo, ma mi fa così male che volevo che tu lo prendessi. So che è una cattiva pratica usare tag brevi <? ?>
e che dovremmo usare tag completi <?php ?>
, ma per quanto riguarda questo <?= ?>
:?
Salverebbe un po 'di battitura e sarebbe meglio per la leggibilità del codice, IMO. Quindi invece di questo:
<input name="someVar" value="<?php echo $someVar; ?>">
Potrei scriverlo in questo modo, che è più pulito:
<input name="someVar" value="<?= $someVar ?>">
L'uso di questo operatore è disapprovato?
echo
porta molto facilmente a XSS e dovresti fare meglio affidamento sul metodo di eco dedicato al contesto (cioè: avere un function html($x) { echo htmlentities($x,...); }
e un html($someVar);
anziché echo $someVar
o utilizzare echo json_encode($x);
per il contesto JS). Questo quindi rende i <?=
tag una cattiva pratica perché significa che hai evitato l'HTML del contenuto della variabile in un altro posto, e quindi che un altro luogo deve magicamente sapere che questa variabile deve essere sfuggita all'HTML perché fa eco nel contesto HTML.