My Life

映画、音楽、プログラミングTipsのブログ

プログラミング

[PHP]解説!Mustache【FILTERS pragma】の使い方

投稿日:7月 2, 2018 更新日:

PHP用Mustacheの拡張機能 FILTERS pragma についてまとめます。

FILTERS pragmaで何が出来るのか?

表示内容を出力前に加工できます。Lambdasという機能でも似た事が出来る様)

  • 使い時
    テンプレートエンジンを使って文字列の加工を行いたい場合に便利です。

使い方

  • 出力時の値を{{ 出力したい値の名前 | フィルター名 }}とします。
    パイプ(|)は幾つでも繋げられるみたいです。
  • 呼び出す関数は、予めaddHelper関数を使いPHP側で追加しておきます。

出力結果:

注意

①partialsの出し分けに使ったり等もできますが、推奨されていません

Filters are not intended to replace a proper View or ViewModel. While they can be (ab)used to add logic to your templates, please resist the temptation and keep your logic in code.

FILTERS pragma · bobthecow/mustache.php Wiki · GitHub から引用

日本語訳:
フィルタは、適切なViewまたはViewModelを置き換えるものではありません。彼らはあなたのテンプレートにロジックを追加するために使用することができますが、誘惑に抵抗し、あなたのロジックをコードで保つようにしてください。

②フィルターに複数の引数は与えられないみたいです

FILTERS pragmaとLambdasの違い

執筆中

まとめ

文字列などの加工処理をビュー側で行う事により、PHP側のロジックがシンプルになるので結構使えそうな機能です

FILTERS pragmaについて解説しているサイトありましたので、こちらも参考にどうぞ↓
mustacheのphp実装でフィルター

 

pragmaの注意として、PHP用Mustacheの拡張機能なので、PHP用以外のmustacheには実装されていないと思われます(未調査)

 

参考文献



-プログラミング
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

関連記事

[php]配列同士を比較する【for文不要】

配列同士に共通な値があるか否かは、array_intersect関数で判定可能です。

【参考】foreachの場合 [crayon-5 …

テキストファイル画像1

【PowerShell】WinMergeで複数ファイルをコマンドラインから比較する

ファイルの差分を見たい時、WinMergeは便利なツールです。 マウス操作でも問題ありませんが、数十件、数百件という大量ファイルの差分チェックは、スクリプトにお任せしましょう。 目次1 やること2 用 …

テキストファイル画像1

【PHP】CSVファイルからINSERT文を生成する

こんにちは。tomoです。 仕事でGoogleスプレッドシートデータをDBに登録しなければいけない事があり、 スプレッドシート情報をCSV形式に変換したデータからINSERT文を生成するプログラムを作 …

[PHP]解説!Mustache【BLOCKS pragma】の使い方

PHP用Mustacheの拡張機能 BLOCKS pragmaについてまとめます。 目次1 Mustacheとは(簡単に)1.1 メリット1.2 デメリット2 BLOCKS pragmaで何が出来るの …

[PHP]解説!Mustache【ANCHORED DOT pragma】の使い方

PHP用Mustacheの拡張機能 ANCHORED DOT pragma についてまとめます。 目次1 ANCHORED DOT pragmaで何が出来るのか?2 使い方3 使い方【応用編】4 注意 …