Je suis tombé sur cette balise PHP <?= ?>
récemment et je suis réticent à l'utiliser, mais ça me démange tellement que je voulais avoir votre avis. Je sais que c'est une mauvaise pratique d'utiliser des balises courtes <? ?>
et que nous devrions utiliser des balises complètes à la <?php ?>
place, mais qu'en est-il celui-ci <?= ?>
:?
Cela économiserait un peu de frappe et ce serait mieux pour la lisibilité du code, IMO. Donc au lieu de cela:
<input name="someVar" value="<?php echo $someVar; ?>">
Je pourrais l'écrire comme ça, ce qui est plus propre:
<input name="someVar" value="<?= $someVar ?>">
L'utilisation de cet opérateur est-elle mal vue?
echo
mène très facilement à XSS, et vous devriez vous fier à une méthode d'écho personnalisée (c.-à-d. Avoir un function html($x) { echo htmlentities($x,...); }
et un html($someVar);
au lieu de echo $someVar
ou utiliser echo json_encode($x);
pour un contexte JS). Cela rend alors les <?=
balises une mauvaise pratique car cela signifie que le contenu de la variable a été échappé par HTML et que cet endroit doit savoir comme par magie que cette variable doit être échappée au format HTML car elle est répercutée dans le contexte HTML.