Я не знаю, как это сказать, но я могу это продемонстрировать:
<?php if (true) { echo "<h1>Content Title</h1>"; } ?>
против
<?php if (true) { ?> <h1>Content Title</h1> <?php } ?>
Какие различия между ними? Будут ли проблемы, вызванные не использованием эха? Кажется очень утомительным писать echo «html code»; все время, специально для больших сегментов 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(); ?>
Что касается того, почему и когда отправляются заголовки, я не совсем уверен …