Пример. Нужно вывести некий список, основанный на массиве хешей.
Массив хешей возвращается некоторым методом объекта. У его элементов нет ключей, определяющих номер элемента, признак первого элемента массива, признак чётного элемента массива. А всё это часто полезно знать в шаблоне при построении документа.
Получается, что надо создавать цикл, в котором будет перебираться исходный массив, так чтобы в его элементы добавлялись новые ключи. По-моему это в чистом виде overhead, потому как массив потом ещё раз будет перебираться в шаблонизаторе.
Кроме того, это увеличивает громоздкость php-кода и усложняет процесс разработки. Верстальщик будет постоянно обращаться к програмисту с просьбой добавить те или иные примитивные свойства в передаваемые данные.
Получается, что логика, свойственная исключительно макету, то есть шаблону, попадает в приложение.
Ну, и без if(a < b) тоже тяжело.
Как, на Ваш взгляд, нужно решать задачу, скажем, когда в шаблоне нужно вывести список, при этом обозначить особыми стилями первый и последние элементы, чётные и нечётные и выбранный пользователем элемент?
Для perl есть очень хороший шаблонизатор — Toolkit Template, хотя бы что-то близкое найти для php... Я, разумеется, понимаю разницу в актуальности щаблонизатора для perl и для php, но тем не менее.
Автор оригинала: fisher
>>нужно довольно часто в шаблонах
а передать этот номер параметром в итерацию не судьба?
-~{}~ 21.07.07 01:43:
Надо бы добавить, что считаю оптимальным тот вариант, когда шаблон получает/отдаёт данные через набор методов приложения, передавая в них нужные параметры, а потом уже раскручивает результат на свой вкус. Когда программист начитает втыкать в то, что нужно верстальщику, работа становится метее продуктивной. Работал с этим, знаю.
Автор оригинала: fisher
>>нужно довольно часто в шаблонах
а передать этот номер параметром в итерацию не судьба?