Я ищу простой механизм шаблонов PHP, который позволяет использовать выражения PHP в заменах. «Идеал MVC», согласно которому шаблоны должны содержать только простые замены переменных и ничего больше, часто не дает сбоев, что признают и реагируют на это обычные системы шаблонов, создавая синтаксис «переменных фильтров» (например, вещи после канала в Smarty), по сути, новый язык программирования.
Когда я хочу сделать небольшую постобработку переменных в шаблоне, я хочу написать {strtolower(trim($a))}
, а не {$a|strip|lower}
, просто потому, что я не хочу запоминать два синтаксиса (и часто два имени) для всего. Я знаю, что этим можно злоупотреблять, но я вполне способен сам придерживаться MVC, мне не нужен язык, чтобы заставить меня это сделать. Это (с использованием выражений на родном языке) совершенно обычное дело, например. в шаблонизаторах Python.
С другой стороны, меня не интересует ответ «PHP». Это слишком многословно (и некрасиво) для шаблонов, даже с альтернативным синтаксисом (for:...endfor;
) и <?=
. Мне нужен приятный и простой синтаксис для подстановки переменных (выражений), for
, if
и т. д. На самом деле это может быть очень тонкий слой синтаксического сахара поверх PHP.
Существует ли что-нибудь похожее на приведенное выше описание?
{
на<?php print(
и}
на); ?>
. Я имею в виду, что будет причина, по которой движки шаблонов будут изобретать свои собственные языки. Если ф.э. тег внутри {} не начинается с $, как отличить вывод переменной от цикла for? Я действительно думаю, что короткие открытые теги - это то, что вам нужно... - person huysentruitw   schedule 14.08.2012