при проектировании и создании веб систем и сайтов, на мой взгляд имеет очень важное значение для дальнейшей расширяемости и гибкости системы. Рассмотрим данный вопрос на конкретных примерах.
Допустим нам нужно создать форму регистрации пользователей сайта. Можно поступить тремя способами:
Создать php файл, содержащий все необходимые замены и подстановки и сразу выводящий на экран результат работы, такой способ реализован в шаблонах веб движка джумла.
Опять - таки php файл, но уже самостоятельно генерирующий разметку страницы и выводящий на экран результат.
Полностью разделить дизайн и код, заполняющий этот дизайн (шаблон) информацией. Т.е. на выходе мы будем иметь 2 файла с четким разделением функционала.
Поговорим о плюсах и минусах рассмотренных приемов. В первых двух случаях реализации механизма для сайта мы будем редактировать только один php файл, но мы потеряем независимость кода от визуальной ( дизайн) реализации проекта, в принципе это не вызовет страшных проблем, если у нас в проекте буде 2 - 5 форм добавлеия или редактирования материалов. Но если рассмотреть к примеру проект социальной сети в котором может быть порядка сотни интерфейсных элементов реализующих манипуляции с данными пользователя, то тут мы столкнемся с серьезными проблемами при попытке сменить дизайн и разметку в блоках кода связанного, склеенного с дизайном. Но если применить третий вариант, мы получим красивое решение, позволяющее менять весь дизайн и разметку системы, не затрагивая функциональные части.