検索
ホームページバックエンド開発PHPチュートリアルTwigのタグ学習(中国語)その1_PHPチュートリアル

Twigのタグ学習(中国語)その1_PHPチュートリアル

Jul 13, 2016 pm 05:48 PM
twig中国語存在する勉強テンプレート単純

Twig はシンプルでありながら強力なテンプレートです。私は SF を学んでいるので、見てください。

この記事の出典 http://twig.sensiolabs.org/doc/tags/index.html


現在サポートされているタグには

が含まれます

マクロフィルターセットがブロックを拡張する場合、スペースレスの自動エスケープを使用してインポートを含め、生のフラッシュを実行します

twigはhtmlで3種類に分かれています

{{...}} 変数を直接出力します


{#...#} コメントタグ


{%...%} コマンドタグは私たちが学ぶ必要があるものです


タグ用
これは最も単純なループです。

配列ベースのループ


メンバー


    {ユーザー % 中のユーザーの %}
                                                                                                                     {% 終了の %}

メンバー



    {ユーザー中ユーザーの%}
                                                                                                              {% 終了用 %}

数値に基づくループの場合、0 ~ 10 (11 個の数値) がここで出力されるという事実に特別な注意を払う必要があります。



{0..10 % の私に対する%} * * {{ 私 }}

{% 終了の %}

{% for i in 0..10 %}

* {{ 私 }}
{% 終了用 %}

文字ベースのループ

{% 'a'..'z' の文字 %}

* {{ 文字 }}

{% 終了の %}

{% 'a'..'z' の文字 %}
* {{ 文字 }}
{% 終了用 %}
ループ本体内の変数



変数名ループインデックスループ数(1から開始)ループ数(0から開始)残りループ数(最小値は1)残りループ回数(最小値は0)初めてループするときに true を返します最後のループ時に true を返すループ総数ループされる配列
説明
loop.index0
loop.revindex
loop.revindex0
ループファースト
ループ.ラスト
ループの長さ
ループ.親


loop.length、loop.revindex、loop.revindex0、loop.last これらの値は、ループが PHP 配列または Countable インターフェイスを実装するクラスである場合にのみ有効です。


条件を追加します
PHP とは異なり、break ステートメントと continue ステートメントはループ内でサポートされていません。次のように、フィルターを介して一部のループのみをスキップできます。


    {user.active % の場合、ユーザー内のユーザーの%}
                                                                                                                     {% 終了の %}

    {user.active % の場合、ユーザー内のユーザーの%}
                                                                                                              {% 終了用 %}



その他の支店
users が空の配列の場合、見つかったユーザーは出力されません。

    {ユーザー % 中のユーザーの %}
                                                                                                                {% 他 %}
                                                                                                              {% 終了の %}

    {ユーザー中ユーザーの%}
                                                                                                          {% 他 %}
                                                                                                {% 終了用 %}





キーによるサイクリング

メンバー


    {ユーザーのキーの%|キー %}
                                                                                                        {% 終了の %}

メンバー


    {ユーザーのキーの%|キー %}

                                                                                                        {% 終了用 %}

キー、値によるループ


メンバー


    {% はキー、ユーザーはユーザー %}
                                                                                                                       {% 終了の %}

メンバー



    {% はキー、ユーザーはユーザー %}
                                                                                                                   {% 終了用 %}


タグの場合

言うまでもなく、例 {% if users %} を見てください


    {ユーザー中ユーザーの%}
  • {{ user.username|e }}
  • {% endfor %}
{% endif %}

{% if kenny.sick %}
ケニーは病気です
{% elseif kenny.dead %}
ケニーを殺したのよ
{% 他 %}
ケニーは大丈夫のようです --- 今のところ
{% endif %}
{% ユーザーの場合 %}

    {ユーザー数 % のユーザー数 %}

  • {{ user.username|e }}
  • {% endfor %}


{% endif %}

{% if kenny.sick %}
ケニーは病気です
{% elseif kenny.dead %}
ケニーを殺したのはこの野郎!!!
{% 他 %}
ケニーは大丈夫のようです --- 今のところ
{% endif %}



マクロタグ
マクロ (マクロタグ) は他の言語の関数に似ており、HTML タグを埋めるためによく使用されます。 以下は
をレンダリングする例です。


{% macro input(name, value, type, size) %} 
     
{% endmacro %} 
{% macro input(name, value, type, size) %}
   
{% endmacro %}
macro与函数的不同之处在于:

1、参数的默认值是通过macro块内部的 default过滤器来定义的。

2、参数总是可选的。

另外,就跟php函数一样,macro内部是无法使用外部的变量的。但你可以传递一个特殊变量_context作为参数来获取整个内容。

macro可以被定义在任何的模板内,但在你使用之前需要使用 imported


{% import "forms.html" as forms %} 
{% import "forms.html" as forms %}然后就可以这样使用了


{{ 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


{% macro input(name, value, type, size) %} 
   
{% endmacro %} 
 
{% macro wrapped_input(name, value, type, size) %} 
   

 
        {{ _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.html #} 
 
{% macro input(name, value, type, size) %} 
   
{% endmacro %} 
 
{# shortcuts.html #} 
 
{% macro wrapped_input(name, value, type, size) %} 
    {% import "forms.html" as forms %} 
   

 
        {{ forms.input(name, value, type, size) }} 
   
 
{% endmacro %} 
{# forms.html #}

{% macro input(name, value, type, size) %}
 
{% endmacro %}

{# shortcuts.html #}

{% macro wrapped_input(name, value, type, size) %}
    {% import "forms.html" as forms %}
   


        {{ forms.input(name, value, type, size) }}
   

{% 終了マクロ %}


フィルタータグ
ブロック全体にフィルターを適用するだけです


{% フィルター上位 %}
このテキストは大文字になります
{% エンドフィルター %}
{% フィルタ上部 %}
このテキストは大文字になります
{% エンドフィルター %}
{% フィルターを低くする|エスケープ %}
テキスト {% エンドフィルター %}

jiaochangyunさんのコラムより抜粋

http://www.bkjia.com/PHPjc/478461.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478461.html技術記事 Twig はシンプルでありながら強力なテンプレートです。私は SF を学んでいるので、見てください。 この記事のソース http://twig.sensiolabs.org/doc/tags/index.html 現在サポートされているタグには、if マクロ フィルターが含まれます...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
負荷分散がセッション管理にどのように影響し、それに対処するかを説明します。負荷分散がセッション管理にどのように影響し、それに対処するかを説明します。Apr 29, 2025 am 12:42 AM

負荷分散はセッション管理に影響しますが、セッションの複製、セッションの粘着性、集中セッションストレージで解決できます。 1。セッションレプリケーションサーバー間のセッションデータをコピーします。 2。セッションスティンネスは、ユーザーリクエストを同じサーバーに指示します。 3.集中セッションストレージは、Redisなどの独立したサーバーを使用してセッションデータを保存してデータ共有を確保します。

セッションロックの概念を説明します。セッションロックの概念を説明します。Apr 29, 2025 am 12:39 AM

SESSIONLOCKINGISATECHNIQUESTOESUREAUSER'SSESSIONREMAINSEXCLUSIVETOONEUSATIME.ITISCRUCIALFORPREVENTINGDATACORTIONANDSECURITYBREACHESINMULTI-USERAPPLICATIONS.SESSIONLOCKINGISISIMPLEMENTEDUSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGROCKINGSMECHANISMなど

PHPセッションの選択肢はありますか?PHPセッションの選択肢はありますか?Apr 29, 2025 am 12:36 AM

PHPセッションの代替品には、Cookie、トークンベースの認証、データベースベースのセッション、Redis/Memcachedが含まれます。 1.Cookiesは、クライアントにデータを保存することによりセッションを管理します。 2.トークンベースの認証はトークンを使用してユーザーを検証します。これは非常に安全ですが、追加のロジックが必要です。 3.Databaseベースのセッションは、データベースにデータを保存します。これは、スケーラビリティが良好ですが、パフォーマンスに影響を与える可能性があります。 4. Redis/Memcachedは分散キャッシュを使用してパフォーマンスとスケーラビリティを向上させますが、追加のマッチングが必要です

PHPのコンテキストで「セッションハイジャック」という用語を定義します。PHPのコンテキストで「セッションハイジャック」という用語を定義します。Apr 29, 2025 am 12:33 AM

SessionHijackingとは、ユーザーのSessionIDを取得してユーザーになりすましている攻撃者を指します。予防方法には、次のものが含まれます。1)HTTPSを使用した通信の暗号化。 2)SessionIDのソースの検証。 3)安全なSessionID生成アルゴリズムの使用。 4)SessionIDを定期的に更新します。

PHPの完全な形式は何ですか?PHPの完全な形式は何ですか?Apr 28, 2025 pm 04:58 PM

この記事では、PHPについて説明し、その完全なフォーム、Web開発での主要な使用、PythonとJavaとの比較、および初心者の学習のしやすさについて説明します。

PHPはフォームデータをどのように処理しますか?PHPはフォームデータをどのように処理しますか?Apr 28, 2025 pm 04:57 PM

PHPは、$ \ _ postおよび$ \ _を使用してフォームデータを処理し、検証、消毒、安全なデータベースインタラクションを通じてセキュリティを確保します。

PHPとASP.NETの違いは何ですか?PHPとASP.NETの違いは何ですか?Apr 28, 2025 pm 04:56 PM

この記事では、PHPとASP.NETを比較して、大規模なWebアプリケーション、パフォーマンスの違い、セキュリティ機能への適合性に焦点を当てています。どちらも大規模なプロジェクトでは実行可能ですが、PHPはオープンソースであり、プラットフォームに依存しませんが、ASP.NET、

PHPはケースに敏感な言語ですか?PHPはケースに敏感な言語ですか?Apr 28, 2025 pm 04:55 PM

PHPの症例感度は変化します:関数は鈍感であり、変数とクラスは感度があります。ベストプラクティスには、一貫した命名と、比較のためにケース非感受性関数を使用することが含まれます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール