Подтвердить что ты не робот

Есть ли разница в скорости между <? Php echo $var;?> и <? = $var?>?

Есть ли разница в скорости между этими двумя версиями?

<?php echo $var; ?>

<?=$var?>

Что вы рекомендуете и почему?

4b9b3361

Ответ 1

Разница в производительности незначительна. Более того, с использованием APC разница в производительности равна нулю, null, nada.

<?=$var?> требуется короткие теги. Короткие теги являются проблематичными в XML, потому что <? также является разметкой для тега обработки XML. Поэтому, если вы пишете код, который должен быть переносимым, используйте длинную форму.

См. описание short_open_tag в http://www.php.net/manual/en/ini.core.php

Ответ 2

Технически парсер должен анализировать каждый символ более длинной версии, а еще несколько символов для каждой передачи.

Если ваш веб-сервер не "предварительно скомпилирует" (то есть: кэш файлы с марксизмом PHP), то есть небольшая разница в производительности. Это должно быть незначительным, за исключением, может быть, когда вы начинаете говорить о миллиардах прогонов.

-Adam

Ответ 3

Производительность невелика.

Правильное использование говорит использовать более длинный, так как он более портативен. Лично? Я делаю более короткий.

Ответ 4

в php 5.3 короткий тег ASP-стиль <%% > поддержка будет устаревать, постарайтесь избежать этого и переписать код на '<?php echo' format, потому что вы не можете использовать <?xml ?> inline, например.

Ответ 5

Нет, они идентичны. Если вам нравится печатать много, используйте <?php echo $var; ?>, иначе просто сэкономьте время с помощью <?=$var?>.

Ответ 6

Я думаю, что для второго требуется, чтобы short_open_tag (в PHP.ini) был установлен в true.

Значит, есть шанс, что он отключится на некоторых веб-серверах.

Ответ 7

Что вы рекомендуете

Также, если вы действительно не хотите разрешить HTML-инъекцию. (В 99% случаев вы этого не делаете.)

<?php echo htmlspecialchars($var); ?>

Или определите функцию, которая выполняет эхо (htmlspecialchars ($ arg)) с более коротким именем, чтобы избежать всего, что печатается.

Ответ 8

Разница в скорости зависит от того, насколько быстро вы можете ввести эти 9 дополнительных символов.
Он также может улучшить читаемость кода, но это спорно.

Если вы говорите о скорости выполнения, то нет заметной разницы.

Ответ 9

Не пытайтесь оптимизировать с ними, это бесполезно. Вместо этого деактивируйте allow_short_tags (из-за проблем при загрузке файлов XML) и напишите чистый, понятный и понятный код.

Даже если может быть небольшая разница (которая, безусловно, ниже 10%), она нуждается в оптимизации с ней. Если ваши сценарии медленные, сначала посмотрите на свои петли. Большую часть времени вы можете выиграть намного большую производительность, оптимизируя поток программ, чем используя странный синтаксис.