Есть ли разница в скорости между этими двумя версиями?
<?php echo $var; ?> <?=$var?>
Что вы рекомендуете и почему?
Разница в производительности незначительна. Более того, с использованием APC разница в производительности равна нулю, null, nada.
<?=$var?>
требует активации коротких тегов. Короткие теги являются проблематичными в XML, потому что <?
также является разметкой для тега обработки XML. Поэтому, если вы пишете код, который должен быть переносимым, используйте длинную форму.
См. Описание short_open_tag
в http://www.php.net/manual/en/ini.core.php
Технически парсер должен анализировать каждый символ более длинной версии, и для каждой передачи есть еще несколько символов.
Если ваш веб-сервер не «предварительно компилирует» (то есть: кэш-маркерованные страницы PHP), то есть небольшая разница в производительности. Это должно быть незначительным, за исключением, может быть, когда вы начинаете говорить о миллиардах трасс.
-Адам
Производительность мудрая невелика.
Правильное использование говорит, чтобы использовать более длинный, так как он более переносимый. Лично? Я делаю более короткий.
в php 5.3 короткий тег Поддержка ASP-стиля <%%> будет устаревать, постарайтесь избежать этого и переписать код в '<?php echo' format
, потому что, например, вы не используете <?xml ?>
inline.
Нет, они одинаковы. Если вам нравится печатать много, используйте <?php echo $var; ?>
<?php echo $var; ?>
, иначе просто сэкономьте время с помощью <?=$var?>
.
Я думаю, что для второго требуется, чтобы short_open_tag (в PHP.ini) был установлен в true.
Значит, есть шанс, что он отключен на некоторых веб-серверах.
Что вы рекомендуете
Кроме того, если вы действительно не хотите разрешить HTML-инъекцию. (В 99% случаев вы этого не делаете).
<?php echo htmlspecialchars($var); ?>
Или определите функцию, которая выполняет эхо (htmlspecialchars ($ arg)) с более коротким именем, чтобы избежать всего, что печатает.
Разница в скорости зависит от того, насколько быстро вы можете ввести 9 дополнительных символов.
Он также может улучшить читаемость кода, но это спорно.
Если говорить о скорости выполнения, то нет заметной разницы.
Не пытайтесь оптимизировать с ними, это бесполезно. Вместо этого деактивируйте allow_short_tags (из-за проблем при загрузке файлов XML) и напишите чистый, читаемый и понятный код.
Даже если может быть небольшая разница (которая, безусловно, ниже 10%), она оптимизируется с ней. Если ваши сценарии медленные, сначала посмотрите на свои петли. Большую часть времени вы можете выиграть намного большую производительность, оптимизируя поток программ, чем используя странный синтаксис.