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