Каков рекомендуемый способ встраивания html-кодов внутри php-кодов?

Допустим, у меня есть 2 случая:

<?php print("html code goes here"); ?> 

против

 <?php ?> html codes goes here <?php ?> 

Будет ли производительность для PHP-интерпретатора в первом случае хуже, чем вторая? (Из-за дополнительных накладных расходов на обработку внутри функции печати).

Итак, есть ли у кого-нибудь рекомендуемый способ вставки html-кодов внутри php-кодов?

Solutions Collecting From Web of "Каков рекомендуемый способ встраивания html-кодов внутри php-кодов?"

Не делайте этого так! Используйте систему шаблонов, такую ​​как Smarty, чтобы вы могли отделить свою логику от вашего отображаемого кода. Это также позволяет вам принести дизайнера, который может работать с html и вообще не знать php. Шаблоны Smarty больше читают HTML, чем PHP, и это может иметь большое значение при работе с дизайнером.

Кроме того, вам не нужно беспокоиться о том, что ваш дизайнер возится с вашим кодом при выполнении поиска / замены!

Лучше еще пойти на установку, такую ​​как Django или Rails, которая имеет четко очерченную настройку кода / шаблона, но если вы не можете этого сделать (дешевые решения для хостинга), то, по крайней мере, используйте шаблоны. Я не знаю, является ли smarty лучшим для PHP, но оно намного лучше, чем оба решения, которые вы предлагаете.

О, ради всех тех, кто позже отредактирует ваш код, никогда не помещайте какой-либо значимый код HTML внутри строки и повторяйте его. На любом языке.

HTML принадлежит в HTML-файлах, отформатированных и стилизованных вашей IDE или редактором, чтобы их можно было прочитать. Гигантские строковые блоки являются самой большой причиной ошибок HTML, которые я когда-либо видел.

Производительность не должна быть слишком большой, в этом случае, но я бы предположил, что вторая будет быстрее, потому что она напрямую передается на выход или буфер.

Если вы хотите, чтобы его было легче читать, включите короткие теги и напишите его так:

 ?><b>blah blah blah</b><? 

Кроме того, с включенными короткими тегами, легче вывести переменные:

 Hello, <?= $username ?> 

Если вы используете это для создания какой-либо библиотеки многократного использования, есть и другие варианты.

Вы должны поместить HTML вне кода PHP, чтобы улучшить обслуживание и масштабируемость. Также очень полезно выполнить всю необходимую обработку данных перед отображением любых данных, чтобы отделить логику и презентацию.

Вместо этого попробуйте подумать о постоянном разделении своих php и HTML, вместо этого вы должны быть в уме, отделяющем вашу логику бэкэнд и логику отображения.

Шаблон MVC – это хороший способ подумать о вашем коде. Чтобы правильно использовать PHP, вы должны использовать шаблон MVC (model-view-controller)

Никогда не помещайте HTML внутри кодов PHP, если вы специально не намереваетесь сделать это или его очень мало. Но опять же 100% разделение – это то, что я рекомендую. Людям придется очень много работать, чтобы понять ваш код позже, если вы их примете. Особенно дизайнеры, которым может не понравиться php.

Золотое правило – это разделение фронтального и заднего процесса на максимум помогает во всех аспектах. Держите вещи там, где они принадлежат. Стили в CSS, Java-скрипты в JS, Php в папке / файлах библиотеки и просто используйте требуемые классы / функции.

Использовать короткие теги <? если требуется (но мне не нравится: P) также <?= тег для выходного echo . Кроме того, лучше избегать коротких тегов.

[над парапетами] Многие из нас изучили шаблоны из WordPress, где без встраивания php практически невозможно что-либо сделать. Я вполне понимаю, почему люди защищают строгий MVC или такие двигатели, как Smarty, но факт в том, что касается разработки WordPress, вам нужно манипулировать выводами «на лету» с помощью php. Фактически, исходя из этого фона, я всегда полагаю, что «hp» в php был именно по этой причине. Поэтому я мог бы написать «нормальный» HTML-код, немного обработать серверную обработку и вернуться в HTML.

Итак, с моей точки зрения, ответ на ваш вопрос – это второй из ваших примеров, который гораздо легче читать – одна из основ элегантного кодирования. Но это зависит. Если есть много обработки для создания простой части html, то может быть проще построить большую переменную и повторить ее в конце. Я задерживаю несколько строк выражений эха. В этом случае я, скорее всего, буду использовать функцию, чтобы мой HMTL был чистым. Снова WordPress делает это много; например, the_title() возвращает простую строку, но выполняет the_title() перед возвратом этой строки, поэтому <h1><? the_title(); ?> </h1> <h1><? the_title(); ?> </h1> <h1><? the_title(); ?> </h1> хорошо читается.

Это POV разработчика WordPress, который никогда не формально преподавал сложное кодирование. Я ожидаю, что потеряю много очков репутации над этим ответом. [/ голова над парапетом]