Есть ли разница в скорости между этими двумя версиями?
<?php echo $var; ?>
<?=$var?>
Что вы рекомендуете и почему?
Есть ли разница в скорости между этими двумя версиями?
<?php echo $var; ?>
<?=$var?>
Что вы рекомендуете и почему?
Разница в производительности незначительна. Более того, с использованием APC разница в производительности равна нулю, null, nada.
<?=$var?>
короткие теги активированы. Короткие теги являются проблематичными в XML, потому что <?
также является разметкой для тега обработки XML. Поэтому, если вы пишете код, который должен быть переносимым, используйте длинную форму.
См short_open_tag
описание в http://www.php.net/manual/en/ini.core.php
Вы правы, мне нравится писать портативный код. спасибо всем 4 ответам. – grilix
Я всегда использую короткую форму. Если мне когда-либо понадобится запустить код, где он не включен или когда мне нужно для XML (ни один из которых никогда не произошел), это простой пример s// Php/и s/ Php =/< ? php echo/ – cletus
@cletus: со всем уважением у вас нет идеи frikin. – vartec
Нет, они идентичны. Если вам нравится печатать много, используйте <?php echo $var; ?>
, иначе просто сэкономьте время с <?=$var?>
.
Технически парсер должен анализировать каждый символ более длинной версии, и для каждой передачи есть еще несколько символов.
Если ваш веб-сервер не «предварительно скомпилирует» (то есть: кэш-файлы на основе токена), то есть небольшая разница в производительности. Это должно быть незначительным, за исключением, может быть, когда вы начинаете говорить о миллиардах трасс.
-Адам
Когда у вас есть миллиарды прогонов, вы все равно не будете/не должны использовать PHP. – tstenner
@tstenner: Facebook не согласен с вами. – TheTXI
Бросьте на это достаточно оборудования ... Иногда время разработчиков может быть дороже, чем больше аппаратного обеспечения, а рефакторинг всего кода для повышения производительности не является разумным, если вы можете просто масштабировать аппаратное обеспечение. Тем не менее, они используют оптимизаторы php ... –
Производительность мудрого невелика.
Правильное использование говорит использовать более длинный, так как он более переносимый. Лично? Я делаю более короткий.
+1 для самых точных мыслей – David
в PHP ASP-стиль <%%> поддержки 5,3 коротких меток устареют, попытайтесь избежать этого и переписать код на '<?php echo' format
, потому и не можешь использовать <?xml ?>
инлайн, например.
Еще одна гениальная идея от тех, кто на PHP ...: | –
Насколько я знаю, он не удаляется, а отключается по умолчанию. Есть разница. –
Что делает ответ более или менее FUD. Ницца. – chaos
Я думаю, что для второго требуется, чтобы short_open_tag (в PHP.ini) был установлен в true.
Значение есть шанс, что он отключен на некоторых веб-серверах.
Почему это поддерживается? Он специально попросил сравнить производительность, вопрос не имел ничего общего с переносимостью. Это никоим образом не отвечает на вопрос, оно даже не пытается этого сделать. – meagar
Что вы рекомендуете
Ни, если вы действительно не хотите, чтобы позволить инъекции HTML. (99% времени, вы не знаете.)
<?php echo htmlspecialchars($var); ?>
Или определить функцию, которая делает эхо (htmlspecialchars ($ Arg)) с более коротким именем, чтобы избежать всего, что печатать.
На данный момент у меня есть все переменные чистые и безопасные :) .. Так что мне нужно только распечатать его. – grilix
@bobince Это серьезный случай паранойи ... вы используете htmlspecialchars() на ВСЕХ ваших vars ? –
@jcinacio - Если переменная передается клиенту и не была намеренно построена, чтобы содержать HTML, да, вы действительно должны сначала ее кодировать. Это потенциально серьезная проблема безопасности. –
Разница в скорости зависит от того, как быстро вы можете ввести эти 9 дополнительных символов.
Он также может улучшить читаемость кода, но это спорно.
Если вы говорите о скорости выполнения, то нет заметной разницы.
Не пытайтесь оптимизировать с ними, это бесполезно.Вместо этого деактивируйте allow_short_tags (из-за проблем при загрузке файлов XML) и напишите чистый, читаемый и понятный код.
Даже если может быть небольшая разница (которая, безусловно, ниже 10%), она может оптимизировать с ней. Если ваши сценарии медленные, сначала посмотрите на свои петли. Большую часть времени вы можете выиграть намного большую производительность, оптимизируя поток программ, чем используя странный синтаксис.
10% * много * на порядок выше фактического штрафа за производительность, от которого вы будете страдать от использования ' Php' вместо' '. Это даже не поддается измерению ни в одном реальном приложении. – meagar
Мне нравится короткий синтаксис. Это чище. – gradbot
просто перекомпилируйте php с флагом -zomg-optimize – 2009-03-19 20:16:16