В настоящее время я задаю себе вопрос о тегах <?php?>
Некоторые люди используют их так:
<?php
$value = "2";
echo "test".$value."tested";
?>
И некоторые люди делают это так:
<?php $value = 2; ?>
test<?php echo $value ?>tested
Есть ли какая-то большая разница, на которую я еще не наткнулся?
Я провел некоторые тесты производительности, и наибольшая разница составляла 17% (что может быть нормальным колебанием)
С точки зрения производительности: не пытайтесь улучшить производительность с такими сумками. Если вы используете короткие теги или нет, если вы делаете вывод в блоке PHP или используете несколько, если вы используете одно пространство более или менее: это не имеет значения. Вы сохраните или не сохраните несколько мс, но более важно подумать о недостатках.
Реальная сделка заключается в повышении эффективности, когда она выгодна. Это в большинстве случаев:
Сообщается, что PHP-сообщество немного улучшило ожидаемые улучшения производительности в последнее время и задает такие вопросы, как: "Могу ли я использовать пространство здесь (OMG PERFORMANCE)?" или "Это убийца производительности для создания множества объектов?" - Ладно, первый немного преувеличен, но я видел второй раз пару раз.
В вашем примере оба сценария производят один и тот же вывод, и я просто хотел бы, чтобы этот пример предпочитал первый, потому что он просто читаем. Например, если вы обрабатываете шаблоны, где вам иногда приходится подставлять небольшие фрагменты PHP в большом количестве HTML, предпочтительным будет два метода.
Как правило, каждый должен заботиться о своем коде и его читаемости, а затем об оптимизации и производительности. Вы никогда не должны торговать производительностью для чтения/качества кода (к счастью, в большинстве случаев эти два идут рука об руку), особенно в неулокальных случаях, таких как более короткие синтаксисы.
Роль тегов PHP <?php
и ?>
Заключается в том, чтобы указать PHP, какой из кода он должен анализировать. Это полезно, потому что тогда вы можете смешивать HTML и PHP, как вы уже обнаружили.
Также существует дополнительный открытый тег: <?=
, Этот тег является ярлыком для <?php echo
и полезен в вашем примере, где все, что вы делаете, выводит значение из переменной. Он использует те же закрывающие теги: ?>
Есть интересная тема о тегах PHP и производительности для вас, прямо здесь: Теги открытия и закрытия и производительность?
Подробнее о тегах PHP на php.net: http://php.net/manual/en/language.basic-syntax.phptags.php