Нет никакого особого формата файла...
Sumo 20.07.2015 23:33
/ 20.07.2015 23:47
Для шаблонов хочется иметь отдельную иерархию классов, но не хочется возиться с поддержкой структуры имен файлов. Подумайте, как у вас будет работать partial, если потребуется использовать одни и те же куски шаблонов в разных частях приложения. Как использовать одинаковые куски шаблонов в других проектах.
Поэтому pfTemple автоматически оборачивает шаблоны в классы. Директивами #@base и #@import легко собрать любой набор функций, которые нужны в шаблонах. При этом вообще не надо думать об именах классов шаблонов. Для pfTemple легко написать свое хранилище и положить шаблоны в БД, что иногда полезно.
Кроме того, нужно иметь очень простой механизм передать в шаблоны переменные из программы (метод assign). Мне нравится, когда шаблон черный ящик — он оперирует только с теми данными, который ему передали и ничего не знает о приложении. Но это не единственный вариант — G_Z использовал pfTemple как «активный шаблон», т.е. логика шаблона определяла какие данные ему нужны. Для этого в шаблон надо будет передать ссылку на модель данных. С partial-классами это несколько муторно.
Даже если мы используем Парсер, как интерпретатор шаблона, то имеет смысл сделать обертку, которая обеспечить абстракцию и отделит пространство имен шаблонов от приложения. :)