ホームページ >バックエンド開発 >PHPチュートリアル >Twigのタグ学習(中国語)その1_PHPチュートリアル
Twig はシンプルでありながら強力なテンプレートです。私は SF を学んでいるので、見てください。
この記事の出典 http://twig.sensiolabs.org/doc/tags/index.html
現在サポートされているタグには
マクロフィルターセットがブロックを拡張する場合、スペースレスの自動エスケープを使用してインポートを含め、生のフラッシュを実行します
twigはhtmlで3種類に分かれています
{{...}} 変数を直接出力します
{#...#} コメントタグ
{%...%} コマンドタグは私たちが学ぶ必要があるものです
タグ用
これは最も単純なループです。
配列ベースのループ
{% 終了の %}
{% for i in 0..10 %}
* {{ 私 }}
{% 終了用 %}
文字ベースのループ
* {{ 文字 }}
{% 終了の %}
{% 'a'..'z' の文字 %}
* {{ 文字 }}
{% 終了用 %}
ループ本体内の変数
説明 | |
---|---|
loop.index0 | |
loop.revindex | |
loop.revindex0 | |
ループファースト | |
ループ.ラスト | |
ループの長さ | |
ループ.親 | |
loop.length、loop.revindex、loop.revindex0、loop.last これらの値は、ループが PHP 配列または Countable インターフェイスを実装するクラスである場合にのみ有効です。
{user.active % の場合、ユーザー内のユーザーの%} {% 終了の %} {user.active % の場合、ユーザー内のユーザーの%} {% 終了用 %} その他の支店 users が空の配列の場合、見つかったユーザーは出力されません。
{% 他 %} {% 終了の %}
{ユーザー中ユーザーの%} キーによるサイクリング メンバー{ユーザーのキーの%|キー %} {% 終了の %} メンバー
{% 終了用 %}
キー、値によるループ メンバー{% はキー、ユーザーはユーザー %} {% 終了の %} メンバー{% はキー、ユーザーはユーザー %} {% 終了用 %}
{ユーザー中ユーザーの%} {% if kenny.sick %} ケニーは病気です {% elseif kenny.dead %} ケニーを殺したのよ {% 他 %} ケニーは大丈夫のようです --- 今のところ {% endif %} {% ユーザーの場合 %}
{ユーザー数 % のユーザー数 %}
{% endfor %} {% endif %} {% if kenny.sick %} ケニーは病気です {% elseif kenny.dead %} ケニーを殺したのはこの野郎!!! {% 他 %} ケニーは大丈夫のようです --- 今のところ {% endif %} マクロタグ マクロ (マクロタグ) は他の言語の関数に似ており、HTML タグを埋めるためによく使用されます。 以下は をレンダリングする例です。
1、参数的默认值是通过macro块内部的 default过滤器来定义的。 2、参数总是可选的。 另外,就跟php函数一样,macro内部是无法使用外部的变量的。但你可以传递一个特殊变量_context作为参数来获取整个内容。 macro可以被定义在任何的模板内,但在你使用之前需要使用 imported
{{ forms.input('username') }} {{ forms.input('password', null, 'password') }} {{ forms.input('username') }} {{ forms.input('password', null, 'password') }} 如果你要在定义macro的模板里使用,就不需要imported 可以使用特殊变量_self
{{ _self.input('username') }} {{ _self.input('username') }} 如果你要定义一个macro里 包含另一个macro,并且两个macro在同一个文件里,可以使用特殊变量_self
{{ _self.input(name, value, type, size) }} {% endmacro %} {% macro input(name, value, type, size) %} {% endmacro %} {% macro wrapped_input(name, value, type, size) %} {{ _self.input(name, value, type, size) }} {% endmacro %} 如果两个macro在不同的文件里,你需要使用import
{{ forms.input(name, value, type, size) }} {% endmacro %} {# forms.html #} {% macro input(name, value, type, size) %} {# shortcuts.html #} {% macro wrapped_input(name, value, type, size) %} {{ forms.input(name, value, type, size) }} {% 終了マクロ %}
|