Есть ли вред в выводе html против использования эха?

Я не знаю, как это сказать, но я могу это продемонстрировать:

<?php if (true) { echo "<h1>Content Title</h1>"; } ?> 

против

 <?php if (true) { ?> <h1>Content Title</h1> <?php } ?> 

Какие различия между ними? Будут ли проблемы, вызванные не использованием эха? Кажется очень утомительным писать echo «html code»; все время, специально для больших сегментов html.

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

Related of "Есть ли вред в выводе html против использования эха?"

Между двумя случаями существует небольшая разница:

 <?php if (true) { echo "<h1>Content Title</h1>"; } ?> 

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

 <?php $mytitle = 'foo'; if (true) { echo "<h1>$mytitle</h1>"; } ?> 

Если во втором примере вам нужно иметь эхо, заключенное в php-блок:

 <?php if (true) { ?> <h1><?php echo 'My Title'; ?></h1> <?php } ?> 

Лично я использую тот же формат, что и ваш второй пример, с небольшим завихрением :

 <?php if (true): ?> <h1><?php echo $mytitle; ?></h1> <?php endif; ?> 

Я нахожу, что он повышает читаемость, особенно когда у вас есть вложенные управляющие инструкции.

Соответствующих различий нет. Но вы не сможете использовать переменные в последнем, и он выглядит менее чистым IMO. С большими блоками также становится чрезвычайно сложно отслеживать структуры {} .

Вот почему существуют следующие альтернативные обозначения:

 <?php if (true): ?> <h1>Content Title</h1> <?php endif; ?> 

это немного более читаемо.

Эта:

 <?php if (true) : ?> <h1>Content Title</h1> <?php endif; ?> 

Так предполагается использование PHP.
Не echo HTML. Это утомительно, особенно потому, что вам нужно избегать определенных персонажей.

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

Я ценю все отзывы. 🙂

Я обнаружил некоторые проблемы при использовании двух разных методов.

Здесь нет никакой реальной проблемы, кроме того, что форматирование выглядит ужасно на исходном и утомительном его характере.

 <?php if (true) { echo "<h1>Content Title</h1>"; } ?> 

Использование php таким образом может привести к ошибке как таковой Предупреждение: невозможно изменить информацию заголовка – уже отправленные заголовки

 <?php if (true) { ?> <h1>Content Title</h1> <?php } ?> 

Ошибка заголовков может быть решена с помощью php, например

 <?php ob_start(); if (true) { ?> <h1>Content Title</h1> <?php } ob_end_flush(); ?> 

Что касается того, почему и когда отправляются заголовки, я не совсем уверен …