Home | Symfony2Doc »リファレンスドキュメント »Symfony2 Twig エクステンション

コンテンツ上部に更新日の記載のないページは、翻訳の内容が2.0相当のものになっております。最新の内容は原文のページをご確認ください。

Note

  • 対象バージョン : 2.3以上
  • 翻訳更新日 : 2014/02/12

Symfony2 Twig エクステンション

Twig は Symfony2 のデフォルトのテンプレートエンジンです。 Twig 自体にも、既に多数の組み込み関数・フィルタ・タグ・テストが含まれています。( http://twig.sensiolabs.org/documentation

Symfony2 は、 Twig テンプレートでコンポーネントの機能を使えるようにするために、 Twig の拡張機能を追加しています。 下記は Symfony2 をフレームワークとして使う際に利用できるカスタム関数・フィルタ・タグ・テストの一覧です。

バンドルで提供されるエクステンションについては、下記には掲載されていません。

関数

New in version 2.4: expression 関数は Symfony2.4 で追加されました。

文法 使い方
render(uri, options = {}) render(controller('B:C:a', {params})) render(path('route', {params})) render(url('route', {params})) 指定されたコントローラー又はURLのテンプレート断片を出力します。 詳細は コントローラーを埋め込む を参照して下さい。
render_esi(controller('B:C:a', {params})) render_esi(url('route', {params})) render_esi(path('route', {params})) ESIタグを生成します。利用できなければ代わりに render を 実行します。詳細は コントローラーを埋め込む を参照してください。
render_hinclude(controller(...)) render_hinclude(url('route', {params})) render_hinclude(path('route', {params})) 指定されたコントローラ又はURLのHincludeタグを生成します。 詳細は コントローラーを埋め込む を参照してください。
controller(attributes = {}, query = {}) render と合わせてレンダリングしたいコントローラを指定するのに使います。
asset(path, packageName = null) 静的ファイルへの公開パスを取得します。詳細は “アセットへのリンク” を参照してください。
asset_version(packageName = null) パッケージの現在のバージョンを取得します。詳細は “アセットへのリンク” を参照してください。
form(view, variables = {}) フォーム全体のHTMLを出力します。詳細は Twig フォームリファレンス を参照してください。
form_start(view, variables = {}) フォームの開始タグを出力します。詳細は Twig フォームリファレンス を参照してください。
form_end(view, variables = {}) フォームの終了タグと、フォームのまだレンダリングされていないフィールド全てを出力します。 詳細は Twig フォームリファレンス を参照してください。
form_enctype(view) フォームがファイルアップロードのフィールドを最低でも一つ含む場合に、 必要な enctype="multipart/form-data" 属性を出力します。 詳細は Twigフォームリファレンス を参照してください。
form_widget(view, variables = {}) フォーム全体又は特定のフィールドのHTMLウィジェットを出力します。 詳細は Twig フォームリファレンス を参照してください。
form_errors(view) 指定されたフィールド又はフォーム全体のエラーを出力します。 詳細は Twig フォームリファレンス を参照してください。
form_label(view, label = null, variables = {}) 指定されたフィールドのラベルを出力します。 詳細は Twig フォームリファレンス を参照してください。
form_row(view, variables = {}) 指定されたフィールドの行(ラベル、エラー、ウィジェット)を出力します。 詳細は Twig フォームリファレンス を参照してください。
form_rest(view, variables = {}) まだ出力されていない全てのフィールドを出力します。 詳細は Twig フォームリファレンス を参照してください。
csrf_token(intention) CSRFトークンを出力します。フォームを作成せずにCSRFから保護したいときに使用します。
is_granted(role, object = null, field = null) 現在のユーザーが指定されたロールを持っていれば true を返します。 詳細は “テンプレートにおけるアクセス制御” を参照してください。
logout_path(key) 指定されたファイアーウォールのためのログアウト用のパスを返します。
logout_url(key) logout_path(...) と同じですが、こちらは絶対URLを返します。
path(name, parameters = {}) 指定されたルーティング名のパスを返します。 詳細は “ページ間をリンクする” を参照してください。
url(name, parameters = {}) path(...) と同じですが、こちらは絶対URLを返します。
expression(expression) Twig 内で Expression を作ります。 詳細は Template Expressions を参照してください。

フィルタ

文法 使い方
text|humanize 機械的的な名前を人間が読みやすい形式にします (アンダースコアを スペースに置き換え、文字列を大文字から始まるようにします)。
text|trans(arguments = {}, domain = 'messages', locale = null)
テキストを現在の言語に翻訳します。詳細は
Translation Filters を参照して

ください。

text|transchoice(count, arguments = {}, domain = 'messages', locale = null) テキストを、複数形を考慮して現在の言語に翻訳します。 詳細は Translation Filters を 参照してください。
variable|yaml_encode(inline = 0) 変数をyaml形式に変換します。
variable|yaml_dump 値の型を示してyaml形式に変換した結果を返します。
classname|abbr_class PHP のクラス名と abbr 要素を出力します。
methodname|abbr_method PHP のメソッド名と abbr 要素を出力します。 (例えば Symfony\Component\HttpFoundation\Response::getContent
arguments|format_args 関数の引数とその型を出力します。
arguments|format_args_as_text [...]|format_args と同じですがタグをつけずに出力します。
path|file_excerpt(line) コードのファイル内の指定行付近を出力します。
path|format_file(line, text = null) ファイルのパスをリンクとして出力します。
exceptionMessage|format_file_from_text format_file と同じですが、PHPのデフォルトのエラー文字列 (例えば ‘in foo.php on line 45’ のような文字列) をパースしてファイルパス形式に変換します。
path|file_link(line) ファイルの正しいパスと行を出力します。

タグ

New in version 2.4: ストップウォッチタグは Symfony 2.4 で追加されました。

文法 使い方
{% form_theme form 'file' %} 指定されたファイル内を調べ、フォームブロックを上書きします。詳細は フォームのレンダリングのカスタマイズ方法 を参照してください。
{% trans with {variables} %}...{% endtrans %} テキストを翻訳して出力します。 詳細は Twig テンプレート を参照してください。
{% transchoice count with {variables} %} ... {% endtranschoice %} テキストを、複数形を使って翻訳して出力します。           詳細は Twig テンプレート を参照してください。
{% trans_default_domain language %} 現在のテンプレート内での翻訳メッセージカタログの、デフォルトの ドメインを設定します。
{% stopwatch 'name' %}...{% endstopwatch %} コードの実行時間を測り、 WebProfilerBundle のタイムラインに追加 します。

テスト

文法 使い方
selectedchoice(choice, selectedValue) 指定された選択肢フィールドが指定された値を選択していれば、 true を返し ます。

グローバル変数

変数 使い方
app 属性: app.user, app.request, app.session, app.environment, app.debug, app.security app 変数はテンプレート内のどこでも使うことができ、共通で使用するオブジェクトに すばやくアクセスできるようになっています。 app 変数は GlobalVariables の インスタンスです。

Symfony Standard Edition の Twig エクステンション

Symfony Standard Edition は Symfony2 のコアフレームワークにいくつかのバンドルを追加しています。この追加バンドルは上記に無い他の Twig エクステンションを含んでいます。

  • Twig Extensions は Twig のコアには含まれないエクステンションを含んでいます。詳細は Twig Extensions 公式ドキュメント を参照してください。
  • Assetic{% stylesheets %}, {% javascripts %}, {% image %} タグを追加しています。詳細は Assetic のドキュメント を参照してください。
blog comments powered by Disqus