Я начал кодировать в clojure, и я действительно впечатлен Enlive. Одна вещь, которая я действительно как приблизительно это - то, что Enlive использует шаблоны только для HTML. Таким образом, шаблон является файлом с HTML в нем, заканчивающийся в .html, простом как это. Это анализируется в dom дерево и затем что dom деревом управляет clojure/enlive, объединенный, сделанный динамичным, и т.д. Никакой синтаксис в файлах шаблона HTML, красиво чистом разделении.
Другой пример аналогичной системы, сделанной с помощью JavaScript, ЧИСТ.
Есть ли что-нибудь как этот в php? Или, в целом, какие-либо способы сделать шаблонную обработку только для HTML?
Очарован услышать об Enlive. Я размышлял об этой концепции в течение нескольких лет и вместе разработал что-то в PHP , которое разделяет некоторые принципы: шаблоны - это чистый HTML, и вы «наполняете» их, адресуя контент определенному узлу в документ с использованием CSS или XPath.
$t = new Template('yourfile.html');
$t->fill('#nav',$someMarkup);
$t->fill('#header',$otherMarkup);
Я также экспериментировал с объединением некоторых положений для разделения контента на своего рода «таблицу стилей» ... ну, «таблица стилей» - неправильное слово. Я называю их листами с адресацией по содержанию (проект называется CAST, для шаблонов с адресной адресацией по содержанию). CAS выглядит так, как вы могли ожидать:
.col #foot {
content: 'foot';
}
#content {
content: file_get_contents('pangolin.txt');
}
Предполагается, что значения содержимого являются выражениями PHP. Есть некоторые положения для настройки PHP, которые также применяются ко всем селекторам.
Запустите сценарий cssfill.php
, который находится в архиве (лучший вызов, вероятно, ./ cssfill.php pangolin.cas pangolin.html
, возможно, вам придется изменить путь к вашему интерпретатору php внутри cssfill.php), посмотрите на вывод, сравните с входными файлами.
Если этот пост вызывает у вас энтузиазм, дайте мне знать. Мне было интересно, была ли это безумная идея или у нее есть место, если да, я был бы счастлив превратить ее в тщательно продуманный проект с открытым исходным кодом, а не в тарбол, случайно брошенный в Интернет.
Вы можете проверить phptal.org . Это шаблонизатор для PHP, использующий HTML-теги. Но это не так быстро.
Вы также можете проверить другие проекты, например twig-project.org , ведьма намного быстрее.