Вывод с помощью echo

DimaK

Новичок
Вывод с помощью echo

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

Примеры.
1 вариант:
PHP:
<?php  
if ($a > $b){   
?>      
<strong>a>b</strong>     
 <?php   
} else {       
?>      
<strong>a<=b</strong>      
<?php   
}  
?>
2 вариант:
PHP:
<?php  

if ($a > $b) 
    echo "<strong>a>b</strong>";
else 
    echo "<strong>a<=b</strong>";
    
?>
Думается, если вместо "<strong>a>b</strong>" будет много строк, то разумнее использовать 1-й вариант. А если, к примеру, будет одна строка, в которой нужно вывести значения большого числа переменных PHP?
 

Ярослав

Новичок
предпочитаю первый когда пишу код в шаблонах
<? if ($a > $b): ?>
<strong>a>b</strong>
<? else: ?>
<strong>a<=b</strong>
<? endif; ?>
 

Фанат

oncle terrible
Команда форума
Не знаю, какой смысл ты вкладываешь в слово "грамотнее", но вообще оба способа совершенно равноправны.

Но если вспомнить, что сам скрипт, вообще-то, не должен ничего выводить, а отдавать всю информацию в шаблон, то получается, что либо ни один из способов, либо первый, если именно РНР выступает в роли шаблонизатора.
Правда, в этом случае используется другая запись обычно:
PHP:
<? if ($a > $b): ?>
<strong>a>b</strong>     
 <? else: ?>      
<strong>a<=b</strong>      
<? endif ?>
 

DimaK

Новичок
Спасибо.
Просто прочитал про подобное в книге Джорджа Шлосснейгла "Профессиональное программирование на PHP". Там советуется избегать использования echo.

Было:
PHP:
Hello <?= $username ?>
<?php
echo "<table>";
echo "<tr><td>Name</td><td>Position</td></tr>";
foreach ($employees as $employee) {
    echo "<tr><td>$employee[name]</td><td>$employee[position]</td></tr>";
}
echo "</table>";
?>
Советуют:
PHP:
<table>
  <tr><td>Name</td><td>Position</td></tr>
<?php foreach ($employees as $employee) { ?>
  <tr><td><?php echo $employee['name'] ?></td><td><? echo
$employee['position'] ?></td></tr>
<?php } ?>
</table>
Вот мне интересно и стало.
 

Фанат

oncle terrible
Команда форума
попробуй на строку таблицы повесить событие яваскрипт. а на ячейку - стиль поразвесистее
и сразу поймешь, что имел в виду автор книги

вопрос исключительно в удобстве чтения и написания.
 

dr-sm

Новичок
я ипользую оба способа, если второй, то обычно с буферизацией.
так удобней, можно ловить тогда, на этапе генерации ошибки, и посылать редирект. graceful death ).
завернул в классы, получилось довольно прозрачно.

-~{}~ 07.03.08 02:46:

да, а echo не использую вобще, я имел ввиду
html in php vs php in html
 
Сверху