代码之家  ›  专栏  ›  技术社区  ›  Kzqai

有一个只支持html的php模板系统吗?

  •  6
  • Kzqai  · 技术社区  · 15 年前

    我已经开始用clojure编写代码了,我对 Enlive . 我非常喜欢的一点是Enlive只使用html模板。所以模板是一个包含html的文件,以.html结尾,就这么简单。它被解析成一个dom树,然后dom树被clojure/enlive操作、组合、动态化等等。html模板文件中没有语法,分离得非常干净。

    另一个通过javascript实现的类似系统的例子是 PURE .

    或者,一般来说,有什么方法只做html模板?

    5 回复  |  直到 9 年前
        1
  •  4
  •   Weston C    15 年前

    听说恩利夫很着迷。我已经思考这个概念好几年了,并且一起破解了 something in PHP 这有一些共同的原则:模板是纯HTML,您可以通过使用CSS或XPath将内容寻址到文档中的特定节点来“填充”它们。

    $t = new Template('yourfile.html');
    $t->fill('#nav',$someMarkup);
    $t->fill('#header',$otherMarkup);
    

    .col #foot {
        content: 'foot';
    }
    
    #content {
        content: file_get_contents('pangolin.txt');
    }
    

    内容的值被假定为PHP表达式。还有一些设置PHP的规定,可以跨选择器应用。

    cssfill.php ./cssfill.php pangolin.cas pangolin.html ,您可能需要在cssfill.php中更改php解释器的路径),查看输出,并与输入文件进行比较。

        2
  •  2
  •   esgy    15 年前

    你可以查一下 . 它是一个使用HTML标记的PHP模板引擎。 但没那么快。

    女巫跑得更快。

        3
  •  1
  •   Benjamin Cremer    15 年前

    结帐 PHPTAL PHPTAL是一个用于PHP5的XML/XHTML模板库,它提供编译模板和细粒度缓存。

    <div class="item" tal:repeat="item itemsArray">
        <span tal:condition="item/hasDate" tal:replace="item/getDate"/>
        <a href="${item/getUrl}" tal:content="item/getTitle"/>
      <p tal:content="value/getContent"/>
    </div>
    
        4
  •  1
  •   Peter Pötsch    11 年前

    有趣的开始。但我很惊讶,为什么我们不能用不同的模板和样本文本来改变视图和元素的不同状态,并提取代码来创建现有的模板系统,或者仅仅用内容填充它。发现工作流程让人觉得很复杂-不喜欢将html与php/js混合,也不喜欢编写抽象模板系统。需要大量的大脑交流而不是简单的想象。

        5
  •  0
  •   codeassembly    14 年前
    推荐文章