doran7
Новичок
Мне почему-то удобно было делать такие вещи:
Способ 1.
$items .= "
<p class=\"info noprint\">
<span id=\"s1title\"><strong><a href=\"[~".$id."~]\">".$title."</a></strong></span><br>
<span class=\"date\">".$date."</span><span class=\"noscreen\"> |</span>
<span class=\"author\">".$author."</span><span class=\"noscreen\"> |</span>
<span class=\"rate\">".'Рейтинг: '.$cnt."</span><span class=\"noscreen\"> |</span>
<span class=\"categ\">".$categor."</span><span class=\"noscreen\"> |</span>
<span class=\"comments\">".'Комментарии: '."</span><span class=\"noscreen\"></span>
<div>".$annote."</div>
</p>
";
есho $items.$output;
Потом прочитал, что это некошерно. А рекомендуют что-то типа такого:
Способ 2
<?php
if ($expression) {
?>
<strong>Это истина.</strong>
<?php
} else {
?>
<strong>Это ложь.</strong>
<?php
}
?>
И называют это профессиональной вставкой. Потому что когда парсер PHP встречает закрывающийся тег ?>, он просто выводит без изменения (без интерпретации) все, что находится после него до следующего открывающего тега <?php. При этом, как пишут, для вывода больших блоков текста выход из режима интерпретации PHP обычно более эффективен, чем отправка всего текста через echo(), print() или что-либо подобное.
Потом в одной статье, не старой, от сентября 2011 г. из журнала "Хакер" (где ерунды не пишут) прочитал примерно такое (по сути): Текст php-файла, не включенный в теги PHP, движок PHP преобразует в инструкции с оператором echo. То есть такие, казалось бы, незадействованные части php-файла, тоже участвует в процессе обработки кода. И даже если там будет одинокий символ пробела или переноса строки, то PHP обработает и их. - аналогично тому, как это происходило бы с выводом этих символов через оператор echo().
Получается, как ни крутись, от echo() никуда не деться.
Я в сомнениях. Как, вообще, правильно?
Способ 1.
$items .= "
<p class=\"info noprint\">
<span id=\"s1title\"><strong><a href=\"[~".$id."~]\">".$title."</a></strong></span><br>
<span class=\"date\">".$date."</span><span class=\"noscreen\"> |</span>
<span class=\"author\">".$author."</span><span class=\"noscreen\"> |</span>
<span class=\"rate\">".'Рейтинг: '.$cnt."</span><span class=\"noscreen\"> |</span>
<span class=\"categ\">".$categor."</span><span class=\"noscreen\"> |</span>
<span class=\"comments\">".'Комментарии: '."</span><span class=\"noscreen\"></span>
<div>".$annote."</div>
</p>
";
есho $items.$output;
Потом прочитал, что это некошерно. А рекомендуют что-то типа такого:
Способ 2
<?php
if ($expression) {
?>
<strong>Это истина.</strong>
<?php
} else {
?>
<strong>Это ложь.</strong>
<?php
}
?>
И называют это профессиональной вставкой. Потому что когда парсер PHP встречает закрывающийся тег ?>, он просто выводит без изменения (без интерпретации) все, что находится после него до следующего открывающего тега <?php. При этом, как пишут, для вывода больших блоков текста выход из режима интерпретации PHP обычно более эффективен, чем отправка всего текста через echo(), print() или что-либо подобное.
Потом в одной статье, не старой, от сентября 2011 г. из журнала "Хакер" (где ерунды не пишут) прочитал примерно такое (по сути): Текст php-файла, не включенный в теги PHP, движок PHP преобразует в инструкции с оператором echo. То есть такие, казалось бы, незадействованные части php-файла, тоже участвует в процессе обработки кода. И даже если там будет одинокий символ пробела или переноса строки, то PHP обработает и их. - аналогично тому, как это происходило бы с выводом этих символов через оператор echo().
Получается, как ни крутись, от echo() никуда не деться.
Я в сомнениях. Как, вообще, правильно?