PHP

MVC, .php / .tpl ...как должен выглядеть файл с расширением tpl?

На данный момент смотрю видеокурс, урок по структуре сайта MVC, распределением работы верстальщика и программиста...

Вроде бы всё логично файлы .tpl содержащие каркас include и всякого рода циклы... обрабатывающие .php

Но вот когда попытался перестроить свой собственный сайт обнаружил что файлы с расширением tpl не воспринимают php код, хотя как ни странно на видео у парня всё работает прекрасно, и даже Dreamweaver подсвечивает код несмотря на расширение tpl...

В чём суть? что я упустил?
речь о index.tpl например (как в видео)
Так ведь .tpl - это шаблоны представлений. Контроллер (в файле с расширением .php) получает параметры запроса, обращается к модели за данными и передаёт эти данные в представление. Никакого самостоятельного выполнения представлений нет и быть не может.

И, кстати, отдельное расширение для представлений имеет смыл, когда там используется какой-нибудь навороченный шаблонизатор, расширяющий php/html. А когда там стандартный php, то использование другого расширения - откровенный идиотизм.
Саша Большаков
Саша Большаков
77 133
Лучший ответ
Вы НИЧЕГО не поняли в том, как использовать файлы .tpl и что это такое вообще
В них не должно быть НИЧЕГО, кроме
1) html- кода всей страницы или отдельного блока
2) в нужных местах - имен переменных шаблона, их обычно пишут в фигурных скобках, например
{HEADER}
ОТДЕЛЬНЫЙ скрипт, который должен вывести страницу в ответ на ГЕТ-запрос, выбирает подходящий .tpl, читает его в строковую переменную, делает то же самое с хедером, заменяет имен переменных шаблона на их значения, то есть вместо {HEADER} вставляет html- код подходящего хедера и выводит уже то, что получилось.
Никакой php код в шаблоны лепить нельзя!
Сергей Щёкин
Сергей Щёкин
56 702
Во-первых, надо ссылку на видео давать, чтобы понятно было правильно ли ты понял суть урока. Во-вторых, tpl (сокращение от template) - это файл шаблона, потому выглядеть он должен как html, но с добавлением конструкций шаблонизатора (например, так - http://twig.sensiolabs.org/doc/templates.html). Никаких php-вставок в шаблоне быть не должно - это некошерно по нынешним меркам.