Я довольно новичок в программировании, и я знаю, как отделить PHP от HTML, но я хотел бы знать, есть ли разница в выполнении
это:
<?php $rand="I love apples" ?> <h1>This is a title</h1> <div> <p>This is a paragraph</p> <?php echo"The variable contains the string $rand"; ?> </div> ?>
по сравнению с этим:
<?php echo "<h1>This is a title</h1>"; echo "<div>"; echo "<p>This is a paragraph</p>"; echo "The variable contains the string $rand"; echo "</div>"; ?>
Есть ли разница между производительностью и т. Д., Между разбиением кода PHP на код HTML и просто эхом всей страницы в php?
Лучшая практика заключается не в том, чтобы отделить PHP от HTML, лучше всего отделить логику от разметки .
Также важным является стиль кодирования . Правильные отступы строк . Использование echo "</div>";
вместо echo"</div>";
, действительный HTML , не помещая переменные в цитаты :
echo "The variable contains the string $rand";
лучше (почему? см. мой комментарий ниже):
echo "The variable contains the string ", $rand, " :-)";
Весь ваш проект приобретает много качества и достоинства, просто улучшая код, написание чистых, читаемых и поддерживаемых. Представьте, что вы хотите изменить текст, вам нужно будет добавить или изменить много echo
сигналов.
Руководства по стилю кода> Pear , PSR , Zend <
рекомендовать разработчикам сохранять их код читабельным, действительным и совместимым с кросс-браузером
Проблема заключается не в производительности, а в читабельности и, что еще важнее, ремонтопригодности .
Выполнение всей обработки в одном месте и весь вывод в другом (то есть Логика и Презентация ) означали бы, что вам будет легче изменять время, не влияя на другое слишком резко.
К вашему конкретному вопросу, верхний метод предпочтительнее, по причинам, указанным выше.
Принимая ваш вопрос по достоинству, сразу возникают две причины:
Однако, когда большинство людей говорят что-то вроде «отделяя PHP от HTML», они ссылаются на концепцию разделения вашей логики на ваши взгляды. Это означает, что вы не ставите сложную бизнес-логику, вычисления и вызовы базы данных внутри ваших html-страниц. Храните все в чистых PHP-файлах, а ваши html-файлы содержат минимальный PHP, который используется только для выплескивания ваших данных.
Я думаю, что вы, например, не очень хороший, который дает понять, почему вы должны его разделить.
Причина, по которой вам следует отделить не только HTML, но и презентацию, визуализацию или пользовательский интерфейс вашего приложения, – это чистое кодирование и разделение проблем . Это позволит вам получить чистый, удобный для чтения код и сделает ваше приложение основным.
Возьмем WordPress, например, это чрезвычайно уродливое сочетание php и HTML. Они даже выполняют SQL-запросы на уровне презентации приложения, если вы даже можете сделать границу между презентацией и другой логикой в этой статье.
Вам всегда нужно выводить какой-либо динамический контент в свой HTML, но на самом деле пытайтесь уменьшить его до эхо-переменных и иметь некоторые вспомогательные объекты для форматирования вывода. Вся бизнес-логика должна быть где-то в другом месте, а не в «шаблонах» или в любом другом, что вы будете называть файлами, содержащими вывод.
Посмотрите, например, на шаблон MVC , он дает вам представление о том, как и почему вы хотите разделить вещи.
На мой взгляд, это зависит от уровня HTML-форматирования, который выполняется в сравнении с PHP-логикой. Ни больше ни меньше. Легче читать чистый HTML как чистый HTML или PHP как прямой PHP. Когда все это сотрясается вместе – как обрабатываются некоторые системы шаблонов – это становится логической головной болью для чтения и отладки. Поэтому я ошибаюсь на стороне размещения HTML в PHP для моего собственного здравого смысла.
Непонятно, насколько эффективны плюсы или минусы. Но могу заверить вас, что через 20 лет у меня никогда не было сервера, замедляющего работу из-за слишком большого количества HTML, встроенного в PHP
Лично я бы отформатировал ваш пример кода следующим образом:
<?php echo "<h1>This is a title</h1>" . "<div>" . "<p>This is a paragraph</p>" . "The variable contains the string $rand" . "</div>" ; ?>
Мне нравится этот метод, так как есть одно echo
которое дает понять, что происходит, а остальная часть HTML просто конкатенируется .
персонажи.
Кроме того, помните, что все форматирование в программных преимуществах HUMANS больше всего на свете. Компьютер должен видеть только команды, поэтому, если вы хотите быть совершенным для машины, просто код без пробелов или форматирования. Хек, прекратите использовать полные слова и просто используйте 1 переменную письма! Ой, подождите, вот как это было сделано в древние времена.
В настоящее время системы составления компиляторов и кеширования предназначены для того, чтобы воспринимать читаемый код и оптимизировать его работу.
Это все, что нужно сказать: вы должны указывать на читаемость и логику с вашей стороны. Ни больше ни меньше.
<?php $rand="I love apples" ?> <h1>This is a title</h1> <div> <p>This is a paragraph</p> <?php echo"The variable contains the string $rand"; ?> </div> ?>
Вышеизложенное выглядит плохо разделенным. Вот как должно выглядеть разделение php / html:
<?php $rand="I love apples"; ?> <h1>This is a title</h1> <div> <p>This is a paragraph</p> <p>The variable contains the string <?=$rand ?></p> </div>
По производительности, это не проблема, но это будет очень полезно для программистов, чтобы они могли легко читать код, следовательно, необходимость в методах разделения HTML / PHP. В идеале, если вы собираетесь сделать только один скрипт, держите весь свой PHP-код сверху. Кроме того, другой причиной разделения является то, что редакторы IDE могут легко форматировать HTML. Если в теге PHP есть тег HTML, который заканчивается тегом HTML вне PHP, тогда HTML не может быть отформатирован правильно. Например:
<div><p>And it offers so much <?php echo "$features</p> <h2>Proven Ideas";?></h2> <p>More details ahead</p> </div>
Вышеуказанное будет работать отлично, но форматировщик IDE html, скорее всего, будет путать с отсутствующими тегами и не будет форматировать, что затрудняет чтение их программистами.