ウェブページをレンダリングするためにMustache for phpを使用しています。私はgithubの dev-branch でコードをいじっていて、いくつかの興味深いハウツーを見つけました。たとえば、パーシャルのヘルパー関数を定義することで、パーシャルを動的にロードできることを知っています。しかし、見つけられないように見えるのは、次のようにタグをネストする方法です。
{{article.{{page.name}}}}
これは、ある種のヘルパーまたは高次関数の助けを借りて可能ですか?
ウェブページをレンダリングするためにMustache for phpを使用しています。私はgithubの dev-branch でコードをいじっていて、いくつかの興味深いハウツーを見つけました。たとえば、パーシャルのヘルパー関数を定義することで、パーシャルを動的にロードできることを知っています。しかし、見つけられないように見えるのは、次のようにタグをネストする方法です。
{{article.{{page.name}}}}
これは、ある種のヘルパーまたは高次関数の助けを借りて可能ですか?
ラムダを使用して同様のことを実現できます。Mustache.php の wikiからの引用:
値が呼び出し可能な場合 (無名関数など)、呼び出し可能オブジェクトが呼び出され、テキスト ブロックが渡されます。
したがって、口ひげのテンプレートでは、次のようになります。
{{#article_field}}{{page.name}}{{/article_field}}
次のようなビュー クラスを使用します。
class View_Page {
public $_article;
public function article_field()
{
return function($string)
{
return $this->_article[$string];
}
}
}
プロパティの値articleに存在する名前のフィールドを出力します。page.name
Mustache.phpの公式 wikiにアクセスして、Lambda と callable の詳細を確認してください。