Рассмотрим простой пример логики и представления:
<?php
if($login == 'vasya'){
$a = 'Вы успешно авторизованы';
}
?>
<div class="response">
<div class="alert alert-success" role="alert"><?php echo $a; ?></div>
</div>
Теперь нам нужен ответ и на случай успешной авторизации и на случай неудачной:
<?php
if($login == 'vasya'){
$a = '<div class="alert alert-success" role="alert">Вы успешно авторизованы</div>';
} else {
$a = '<div class="alert alert-danger" role="alert">Ошибка</div>';
}
?>
<div class="response">
<?php echo $a; ?>
</div>
Но так у нас уже смешивается логика и код представления. Можно конечно внедрить 2 переменных $a и $b на удачный и неудачный случай, но тогда логика перемещается ниже, т.е. надо делать if уже в шаблоне:
<div class="response">
<?php
if(!empty($a)){
echo $a;
}
if(!empty($b)){
echo $b;
}
?>
</div>
Шаблонизаторы СМЫСЛ всего этого не меняют, просто вместо
echo $a; будет
{{ a }}