<?= ?>
Нещодавно я натрапив на цей тег PHP, і не хочу його використовувати, але він свербить настільки сильно, що мені захотілося взяти його на себе. Я знаю, що це погана практика використання коротких тегів <? ?>
і що ми повинні використовувати <?php ?>
замість них повні теги , але як бути з цим <?= ?>
:?
Це дозволить заощадити набравши текст, і було б краще для читання коду, IMO. Тож замість цього:
<input name="someVar" value="<?php echo $someVar; ?>">
Я міг би написати це так, що чистіше:
<input name="someVar" value="<?= $someVar ?>">
Чи нахмурився цей оператор?
echo
дуже легко веде до XSS, і вам слід краще покластися на контекстний метод відлуння (тобто: мати a function html($x) { echo htmlentities($x,...); }
і un html($someVar);
замість echo $someVar
або використовувати echo json_encode($x);
для контексту JS). Це робить <?=
теги поганою практикою, оскільки це означає, що ви перемістили вміст змінної змісту в HTML в іншому місці, і так, що інше місце повинно магічно знати, що ця змінна повинна бути відхиленою від HTML, оскільки вона перегукується в контексті HTML.