Synopsis A template is a regular text file. It can generate any text-based format (HTML, XML, CSV, LaTeX, etc.). It doesn't have a specific extension, .html or .xml are just fine. A template contains variables or expressions, which get replaced with values when the template is evaluated, and tags, which control the template's logic. Below is a minimal template that illustrates a few basics. We wil
前回 TwigをPHPマイクロフレームワーク「Slim」で利用する - yohxxの忘れ物 でSlimフレームワークから Twigを利用する方法を書いたので、今回はTwigの使い方について簡単にまとめる。 変数へのアクセス Twigを利用する場合にPHP変数にアクセスするには下記のように記述する {{foo}} ← 変数titleの内容を出力 {{foo.bar}} ← 配列foo['id']要素を出力 {{foo['bar']}} ← 配列foo['id']要素を出力(上と同じ) 変数にアクセスする為にはドット(.)もしくはPHP配列にアクセスするような添字([])を利用します。 指定した変数もしくは要素が存在しない場合はnull値が返却される。 ちょっと面白い機能としてTwigでは利便性のために foo.barで指定した場合に下記のように処理を行うとの事を 公式ドキュメントに記載されて
Symfony Advent Calendar JP 2011 : ATND 9日目の記事です。 Symfony2.0.7が昨日リリースされましたね。今回のアップデートで個人的に熱かったのはSymfony2にバンドルされるTwigのバージョンがv1.1.2からv1.4.0へアップグレードされた所です。Twigは便利な機能もいっぱいありますのでこの機会に紹介したいと思います。 for お馴染みのループに使う構文です。一般的な使い方はこうです。 <ul> {% for item in article %} <li>{{ item.title }}</li> {% endfor %} </ul> もちろん配列の添字にもアクセスできます。 <ul> {% for key, item in article %} <li>{{ key }}:{{ item.title }}</li> {% endfo
ググる力がないのかSymfonyの記事が全然出て来ないのでメモ。 古い記事がヒットするもnl2brについては書かれておらずnl2brはないものとして代替手段が書かれていた。 しかし最新のtwigにはいくつもフィルタが追加され、その中にnl2brもバッチリ収録されている。 テキストエリアからPOSTしたデータをそのままMySQLなんかのデータベースに突っ込んでいても、 {{ str|nl2br }} と書くだけで改行をそのまま出力してくれる。 これまでstr_replaceを使ってわざわざ改行コードを<br />に変換させた上で、 {% autoescape false %}{{ str }}{% endautoescape %}なんかしてましたがnl2brさえ使えれば一発OK! しかし、複数のフィルタを使おうとするとフィルタ同士の相性や順番の問題でおかしなことになったりする。 それはまた別
意外とネット上にイケてる情報がないので書きます。 ネット上だとよく以下のようなdateフィルターを用いたイケてない文字列比較をやっちゃっているのを見かけます。 例)キャンペーンが開始していない場合 {% if campaign.startDate|date('Y-m-d') > "now"|date('Y-m-d') %} まだ開始していません。 {% endif %} もちろんこれでも動きます。動きますが、文字列の大小を比較するのは何かが違う気がします。最近のtwig(1.6以降)ではdate関数がありますし、スマートにDateTimeオブジェクト同士を比較すればいいと思います。 【参考】 twig date関数ドキュメント
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く