6

私はclojureでコーディングを始めましたが、 Enliveに本当に感銘を受けました。私が本当に気に入っているのは、Enliveがhtmlのみのテンプレートを使用していることです。つまり、テンプレートはhtmlを含むファイルであり、末尾は.htmlであり、そのように単純です。それはdomツリーに解析され、そのdomツリーはclojure / enliveによって操作され、結合され、動的になります。htmlテンプレートファイルに構文がなく、美しくきれいに分離されます。

javascriptを介して行われる同様のシステムの別の例は、PUREです。

PHPにそのようなものはありますか?または、一般的に、htmlのみのテンプレートを作成する方法はありますか?

4

5 に答える 5

4

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をセットアップするためのいくつかの規定もあります。

tarballにあるスクリプトを実行しcssfill.php(おそらく./cssfill.php pangolin.cas pangolin.html、最高の呼び出しは、cssfill.php内のphpインタープリターへのパスを変更する必要があるかもしれません)、出力を見て、入力ファイルと比較します。

この投稿があなたのアイデアに熱意を持っている場合は、遠慮なくお知らせください。これがクレイジーなアイデアなのか、それとも場所があるのか​​疑問に思っていました。もしそうなら、インターネットにランダムに投げられるtarballではなく、思慮深くリリースされたオープンソースプロジェクトに変えたいと思います。

于 2010-07-19T03:18:35.663 に答える
2

phptal.orgを確認できます。HTMLタグを使用するPHP用のテンプレートエンジンです。しかし、それほど速くはありません。

また、 twig-project.orgのような他のプロジェクトをチェックすることもできます。

于 2010-07-19T15:49:36.410 に答える
1

PHPTALをチェックアウトします。PHPTALは、PHP5用のXML / XHTMLテンプレートライブラリであり、コンパイルされたテンプレートときめ細かいキャッシュを提供します。テンプレートは、純粋なXML/HTMLマークアップで定義されます。

<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>
于 2010-07-20T18:09:02.197 に答える
1

面白いスタートです。しかし、ビューと要素のさまざまな状態を変更するための標本テキストを含むさまざまなテンプレートを使用できない理由に感銘を受けました。コードを抽出して、既存のテンプレートシステムを作成するか、コンテンツで埋めるだけです。ワークフローが非常に複雑に壊れていると感じていることを見つけてください-htmlをphp/jsと混合したり、抽象的なテンプレートシステムを作成したりするのは好きではありません。多くの頭脳が必要です-簡単な視覚化なしで多くのコミュニケーションが必要です。

于 2013-11-28T23:19:23.447 に答える
0

Pstttだと思います!php用のテンプレートエンジンはまさにあなたが探しているものです。それはあなたのhtmlテンプレートを無傷に保ち、あなたがあなたのhtmlをより良く再利用することを可能にします。

完全なソースコードはこちらhttp://github.com/givanz/psttt

于 2010-09-19T18:44:22.210 に答える