Разница в производительности между этими методами - PullRequest
1 голос
/ 26 ноября 2010

Есть ли какие-либо преимущества / недостатки одного из этих утверждений по сравнению с другим:

<?php 
$test = 1;
$test2 = 2;
$test3 = $test + $test2;
echo "<p>Hello World</p>"; 
?>

OR

<?php 
$test = 1;
$test2 = 2;
$test3 = $test + $test2;
?>
<p>Hello World</p> 

Что я спрашиваю, так это то, что если я вывожу страницу, используя PHP, я должен продолжать закрывать теги php и вставлять обычный HTML или выводить HTML? Что лучше?

Ответы [ 5 ]

4 голосов
/ 26 ноября 2010

Если вы хотите быть точным, есть три варианта:

самый медленный:

echo "<p>Hello World</p>"; 

немного быстрее (нет необходимости проверять действительные переменные из-за одинарных кавычек):

echo '<p>Hello World</p>'; 

самый быстрый (без php-интерпретации вообще):

<p>Hello World</p>

но между всем этим разница будет настолько минималистичной, что вы никогда не заметите ее - гораздо важнее: сделать ваш код читабельным и делать это одинаково везде, так что никто, кто читает ваш код (и не должен поддерживать это) запутывается. Я лично предпочел бы третий метод (чтобы я мог использовать завершение кода в моей IDE), но это ваш выбор - я знаю много людей, которые выводят все, используя echo.

РЕДАКТИРОВАТЬ: , чтобы завершить, есть еще несколько возможностей, которые я не упомянул, как heredoc - и nowdoc -синтаксис, но это в основном так же, как двойные / одинарные кавычки ... также вы можете написать print вместо echo и так далее, но это не будет иметь значения.

3 голосов
/ 26 ноября 2010

Метод 2 чище ИМХО, потому что вы отделяете код PHP от HTML. Ваша IDE (если вы ее используете) может анализировать ваши HTML-теги, автозаполнять их и обнаруживать любые опечатки.

1 голос
/ 26 ноября 2010

Я не программист PHP, но я бы предположил, что 2-й метод быстрее, потому что PHP не должен обрабатывать структуру языка эха, выделять буфер и все такое. Это также чище, и меньше хлопот, чтобы изменить HTML.

Кроме того, было бы целесообразно научиться использовать шаблонизатор для вашего HTML, чтобы разделить проблемы. Smarty был популярен пару лет назад, я не знаю, так ли это до сих пор.

0 голосов
/ 26 ноября 2010

Разница лишь в том, что с echo(); вы инструктируете PHP обрабатывать код, в противном случае разницы нет вообще.

Так или иначе, результат точно такой же, а по производительности практически нет различий. Как ... Сколько времени PHP должен обработать echo();? Я думаю, что за миллисекунды у вас могут возникнуть проблемы с вычислением таких маленьких чисел. Хехе.

0 голосов
/ 26 ноября 2010

Хотя разница незначительна, вы должны придерживаться обычного вывода из тегов PHP.Эхо-команда должна быть проанализирована интерпретатором PHP, а затем отправлена ​​как вывод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...