Существует ли шаблонная система только для HTML для php?

Я начал кодировать в clojure, и я действительно впечатлен Enlive. Одна вещь, которая я действительно как приблизительно это - то, что Enlive использует шаблоны только для HTML. Таким образом, шаблон является файлом с HTML в нем, заканчивающийся в .html, простом как это. Это анализируется в dom дерево и затем что dom деревом управляет clojure/enlive, объединенный, сделанный динамичным, и т.д. Никакой синтаксис в файлах шаблона HTML, красиво чистом разделении.

Другой пример аналогичной системы, сделанной с помощью JavaScript, ЧИСТ.

Есть ли что-нибудь как этот в php? Или, в целом, какие-либо способы сделать шаблонную обработку только для HTML?

6
задан Alex Miller 22 July 2016 в 21:57
поделиться

2 ответа

Очарован услышать об 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), посмотрите на вывод, сравните с входными файлами.

Если этот пост вызывает у вас энтузиазм, дайте мне знать. Мне было интересно, была ли это безумная идея или у нее есть место, если да, я был бы счастлив превратить ее в тщательно продуманный проект с открытым исходным кодом, а не в тарбол, случайно брошенный в Интернет.

4
ответ дан 16 December 2019 в 21:33
поделиться

Вы можете проверить phptal.org . Это шаблонизатор для PHP, использующий HTML-теги. Но это не так быстро.

Вы также можете проверить другие проекты, например twig-project.org , ведьма намного быстрее.

2
ответ дан 16 December 2019 в 21:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: