Встраивание php в html код (шаблоны)
Отделение логики получения данных от логики их отображения — важная составляющая веб-разработки. Для этих целей PHP предлагает короткие тэги и альтернативный синтаксис некоторых его управляющих структур, а именно: if, while, for, foreach и switch. Основной формой альтернативного синтаксиса является изменение открывающей фигурной скобки на двоеточие (:), а закрывающей скобки на endif;, endwhile;, endfor;, endforeach; или endswitch;.
<?php $DATA = $DBH->query("SELECT * FROM links")->fetchAll(PDO::FETCH_ASSOC); ?> <h2><?=$pagetitle?></h2> <ul> <? foreach($DATA as $row): ?> <li><a href="<?=$row['link']?>" target="_blank"><?=$row['name']?></a></li> <? endforeach ?> </ul>
<?=$pagetitle?> равносильно <?php echo $pagetitle ?>. Можно выводить сразу два значения:
<?=$pagetitle=$main?>
или использовать тернарный оператор (вместо условия if):
<?=$flag ? "Включено" : "Выключено"?>
Альтернативный синтаксис условия:
<? if ($a == 5): ?> A равно 5 <? else: ?> A не равно 5 <? endif; ?>
Альтернативный синтаксис switch:
<? switch ($row[14]): case 16:?> <p>Число равно 16</p> <? break; case 20:?> <p>Число равно 20</p> <? break; default:?> <h2>Число ни чему не равно</h2> <? endswitch ?>
Примечание: чтобы использовать короткую форму <? вместо <?php необходимо в файле php.ini установить параметр short_open_tag в On:
Тег <?= доступен всегда, вне зависимости от настройки short_open_tag.