Аналог auto.p на PHP |
Есть ли на PHP аналог парсерного auto.p, чтобы можно было легко и быстро собирать страницы сайта по одному шаблону?
Что-то вроде этого:
/auto.p:
@main[]
<html>
...^header[]...^body[]...^footer[]...
</html>
@header[]
...
@body[]
...
@footer[]
...
/articles/index.html:
@body[]
Список статей
То есть чтобы основная структура хранилась в одном файле, а дополнительные части к нему подгружались.
Суть проблемы в том, что долгое время делал сайты на Парсере, теперь вот пришлось переучиваться на PHP. Ни один из виденных в учебниках вариантов не сравнится по легкости с тем, как это обстоит на Парсере.
Есть какое-то надежное решение? |
Есть шаблонные библиотеки, например Smarty. Но с ними работать достаточно неприятно. |
ох, чувствую, что намучаюсь с этим пхп... |
Как же люди на нем программируют?! Это же страшно неудобно - в каждом файле повторять всю структуру страницы, со всеми html-тэгами. Насколько я понял тот же Smarty от этой проблемы так же не избавлен.
Пока наиболее оптимальным видится мне подгружать с индексной страницы инклюдами различные части, в зависимости от передаваемого через адресную строку ключа:
index.html?section=articles ,
а потом преобразовывать адрес в удобоваримый вид с помощью mod_rewrite.
Есть ещё какие-то решения? |
Нетривиальные веб-приложения далеки от соответствия файловой структуре |
Совсем.
Встроенный механизм Парсера обусловлен самой шаблонизированностью языка и не является панацеей.
Хотя, похожие концепции наследования используются в различных шаблонизаторах. Наряду с другими подходами.
Что-то посоветовать даже затрудняюсь. Посмотрите на MVC-паттерн и его производные, разберитесь как устроены популярные фреймворки и выберите наиболее подходящее решение для своих задач. |