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

Twigのタグ学習(中国語)パート3完了_PHPチュートリアル

Jul 13, 2016 pm 05:48 PM
twig use 中国語 ホスト コンテンツ 勉強 はい ラベル に追加 バージョン 欲しい これ

use标签
use标签是1.1版本新添加内容。
这个use标签主要是来解决模板只能从一个父模板继承,而你又想重用其他模板的问题。但是use标签只会导入block区块,
(注意import只会导入宏macros,include会导入一切。这三个标签要区分清楚)
比如 {% extends "base.html" %} 
 
{% use "blocks.html" %} 
 
{% block title %}{% endblock %} 
{% block content %}{% endblock %} 
{% extends "base.html" %}

{% use "blocks.html" %}

{% block title %}{% endblock %}
{% block content %}{% endblock %}而blocks.html的内容是
# blocks.html 
{% block sidebar %}{% endblock %} 
# blocks.html
{% block sidebar %}{% endblock %}我们从blocks..html导入了 block sidebar
运行的结果几乎等于
{% extends "base.html" %} 
 
{% block sidebar %}{% endblock %} 
{% block title %}{% endblock %} 
{% block content %}{% endblock %} 
{% extends "base.html" %}

{% block sidebar %}{% endblock %}
{% block title %}{% endblock %}
{% block content %}{% endblock %}
要注意,被use标签导入的模板(上例中的block.html),不能再继承别的模板,不能定义宏macros。但它可以再use其他模板。
另外use标签后面的文件名,不能是一个表达式。


当被导入了的block和主模板的block重名了,模板引擎会自动忽略被use标签导入block。
为了避免这种情况。你可以在使用use标签的时候,给block重命名
{% extends "base.html" %} 
 
{% use "blocks.html" with sidebar as base_sidebar %} 
 
{% block sidebar %}{% endblock %} 
{% block title %}{% endblock %} 
{% block content %}{% endblock %} 
{% extends "base.html" %}

{% use "blocks.html" with sidebar as base_sidebar %}

{% block sidebar %}{% endblock %}
{% block title %}{% endblock %}
{% block content %}{% endblock %}
1.3版本新支持了 parent()函数,(这个特别重要)
parent()函数,会自动的搞定block的继承树,如果你在主模板里覆盖了use标签引入进来的block块,而用parent()函数则可以调用被覆盖的那个block内容
{% extends "base.html" %} 
 
{% use "blocks.html" %} 
 
{% block sidebar %} 
    {{ parent() }} 
{% endblock %} 
 
{% block title %}{% endblock %} 
{% block content %}{% endblock %} 
{% extends "base.html" %}

{% use "blocks.html" %}

{% block sidebar %}
    {{ parent() }}
{% endblock %}

{% block title %}{% endblock %}
{% block content %}{% endblock %}
注意,parent()的内容 其实是blocks.html里的block sidebar的内容。因为继承树是  base.html->blocks.html->本模板


如果你在use标签里给导入的block重命名了,那就可以使用block函数,来代替上面代码中的parent函数所达到的效果
{% extends "base.html" %} 
 
{% use "blocks.html" with sidebar as parent_sidebar %} 
 
{% block sidebar %} 
    {{ block('parent_sidebar') }} 
{% endblock %} 
{% extends "base.html" %}

{% use "blocks.html" with sidebar as parent_sidebar %}

{% block sidebar %}
    {{ block('parent_sidebar') }}
{% endblock %}
你可以使用任意数量的use标签,如果多个use标签里的block名字存在重复,那么最后use的那个有效。
spacelsee标签
会删除html标签之间的空白
{% spaceless %} 
   

 
        foo 
   
 
{% endspaceless %} 
 
{# output will be
foo
#} 
{% spaceless %}
   

        foo
   

{% endspaceless %}

{# output will be

foo
#}
自動エスケープタグ
とても恥ずかしいので理解できませんでした。私はそれが文字通り自動エスケープを意味することを知っています。 。しかし。 。実験中はまだ使い方が分かりませんでした
彼が公式に挙げた例は
{% 自動エスケープ true %}
このブロックではすべてが自動的にエスケープされます
{% 終了自動エスケープ %}

{% 自動エスケープ false %}
このブロックではすべてがそのまま出力されます
{% 終了自動エスケープ %}

{% autoescape true js %}
このブロックではすべてが自動的にエスケープされます
js エスケープ戦略を使用する
{% 終了自動エスケープ %}
{% 自動エスケープ true %}
このブロックではすべてが自動的にエスケープされます
{% endautoescape %}

{% 自動エスケープ false %}
このブロックでは全てそのまま出力されます
{% endautoescape %}

{% autoescape true js %}
このブロックではすべてが自動的にエスケープされます
js エスケープ戦略を使用する
{% endautoescape %}
そして私はこの方法でそれをテストしました。出力は元のコンテンツのままです。
{% 自動エスケープ true %}
ああああ {% 終了自動エスケープ %}

{% 自動エスケープ false %}
ああああ {% 終了自動エスケープ %}

{% autoescape true js %}
<スクリプト> 関数 aaa(){alert('x');}
{% 終了自動エスケープ %}
{% 自動エスケープ true %}
ああああ
{% endautoescape %}

{% 自動エスケープ false %}
ああああ
{% endautoescape %}

{% autoescape true js %}
<スクリプト>
関数 aaa(){alert('x');}

{% endautoescape %}
通りかかった先輩諸兄の皆さんに聞いていただきたいと思います。 。 。
彼の公式ドキュメントには、{% autoescape true %} が使用されている場合、生のフィルターを使用しない限り、内部のコンテンツは安全なコンテンツにエスケープされると記載されています。
{% 自動エスケープ true %}
{{ 安全な値|生 }}
{% 終了自動エスケープ %}
{% 自動エスケープ true %}
{{ 安全な値|生 }}
{% endautoescape %}
また、親マクロなど、twig内の関数の戻り値も安全です


生タグ
raw タグにより、ブロック内のデータがテンプレート エンジンによって解析されなくなります。 {% 生 %}

    {% シーケンス内の項目の %}
                                                                                                       {% 終了の %}

{% エンドドロー %}
{% 生 %}

    {% シーケンス内の項目の %}
                                                                                                        {% 終了用 %}

{% エンドロウ %}
フラッシュタグ
バージョン 1.5 の新しいコンテンツ
内部的には、テンプレートに出力キャッシュを更新するよう指示し、実際には PHP のフラッシュ関数を呼び出します
。 {% フラッシュ %}
{% フラッシュ %}

タグ付け
バージョン 1.5 の新しいコンテンツ
do タグは出力タグ {{ }} と同じように機能しますが、いくつかの式を計算できますが、違いは何も出力しないことです
。 {% は 1 + 2 % を実行します}
{% は 1 + 2 % を実行します}

これでラベルの勉強は終わりです。拍手に励まされました。 。 。 。 。次にフィルターの学習に入ります。 。 。 。 。 。ギシギシギシギシ

jiaochangyunさんのコラムより抜粋


http://www.bkjia.com/PHPjc/478459.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/478459.html技術記事 use タグ use タグはバージョン 1.1 で新たに追加されました。 この use タグは主に、テンプレートが 1 つの親テンプレートからしか継承できず、他のテンプレートを再利用したいという問題を解決するために使用されます。ただし、使用タグのみ...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Call of Duty: Warzone モバイル ゲームで中国語を設定する方法 Call of Duty: Warzone モバイル ゲームで中国語を設定する方法 Mar 22, 2024 am 08:41 AM

Call of Duty Warzone は新しくリリースされたモバイル ゲームです。多くのプレイヤーは、このゲームの言語を中国語に設定する方法に非常に興味があります。実際、それは非常に簡単です。プレイヤーは中国語の言語パックをダウンロードするだけで、その後、次のことができます詳しい内容はこちらの中国語設定方法紹介で解説していますので、一緒に見ていきましょう。モバイル ゲーム Call of Duty: Warzone に中国語を設定する方法 1. まずゲームに入り、インターフェースの右上隅にある設定アイコンをクリックします。 2. 表示されるメニューバーで、[ダウンロード]オプションを見つけてクリックします。 3. このページの[SIMPLIFIEDCHINESE](簡体字中国語)を選択して、簡体字中国語のインストールパッケージをダウンロードします。 4. 設定に戻ります

Mijia にテレビを追加する方法 Mijia にテレビを追加する方法 Mar 25, 2024 pm 05:00 PM

多くのユーザーは、現代生活において Xiaomi スマート ホーム相互接続の電子エコシステムをますます支持しています。Mijia APP に接続した後、携帯電話で接続されたデバイスを簡単に制御できます。しかし、多くのユーザーはまだ Mijia を追加する方法を知りません。このチュートリアル ガイドでは、困っているすべての人を助けるために、具体的な接続方法と手順を説明します。 1. Mijia APPをダウンロードした後、Xiaomi アカウントを作成またはログインします。 2. 追加方法: 新しいデバイスの電源を入れた後、携帯電話をデバイスに近づけて Xiaomi TV の電源を入れます。通常の状況では、接続プロンプトがポップアップ表示されます。「OK」を選択してデバイスの接続プロセスに入ります。プロンプトが表示されない場合は、スマート ホーム APP に入った後、左下の 1 番目のボタンをクリックしてデバイスを手動で追加することもできます。

VSCode を使用した中国語のセットアップ: 完全ガイド VSCode を使用した中国語のセットアップ: 完全ガイド Mar 25, 2024 am 11:18 AM

中国語での VSCode セットアップ: 完全ガイド ソフトウェア開発では、Visual Studio Code (略して VSCode) が一般的に使用される統合開発環境です。中国語を使用する開発者は、VSCode を中国語インターフェイスに設定すると、作業効率が向上します。この記事では、VSCode を中国語インターフェイスに設定する方法を詳しく説明し、具体的なコード例を示す完全なガイドを提供します。ステップ 1: 言語パックをダウンロードしてインストールします。VSCode を開いた後、左側の

PHPバージョンNTSの意味と違いを解釈する PHPバージョンNTSの意味と違いを解釈する Mar 27, 2024 am 11:48 AM

PHP バージョン NTS の意味と違い PHP は、Web 開発の分野で広く使用されている人気のあるサーバーサイド スクリプト言語です。 PHP には、ThreadSafe(TS) と Non-ThreadSafe(NTS) の 2 つの主要なバージョンがあります。 PHP の公式 Web サイトでは、PHPNTS と PHPTS という 2 つの異なる PHP ダウンロード バージョンを確認できます。では、PHP バージョンの NTS とは何を意味するのでしょうか? TS版との違いは何ですか?次、

大型モデル間の1対1バトル75万ラウンド、GPT-4が優勝、Llama 3が5位にランクイン 大型モデル間の1対1バトル75万ラウンド、GPT-4が優勝、Llama 3が5位にランクイン Apr 23, 2024 pm 03:28 PM

Llama3 に関しては、新しいテスト結果が発表されました。大規模モデル評価コミュニティ LMSYS は、Llama3 が 5 位にランクされ、英語カテゴリでは GPT-4 と同率 1 位にランクされました。このリストは他のベンチマークとは異なり、モデル間の 1 対 1 の戦いに基づいており、ネットワーク全体の評価者が独自の提案とスコアを作成します。最終的に、Llama3 がリストの 5 位にランクされ、GPT-4 と Claude3 Super Cup Opus の 3 つの異なるバージョンが続きました。英国のシングルリストでは、Llama3 がクロードを追い抜き、GPT-4 と並びました。この結果について、Meta の主任科学者 LeCun 氏は非常に喜び、リツイートし、

PHPでtxtファイルを書く際の中国語の文字化けを解決するためのヒント PHPでtxtファイルを書く際の中国語の文字化けを解決するためのヒント Mar 27, 2024 pm 01:18 PM

PHP で書かれた txt ファイルの中国語文字化けを解決するヒント. インターネットの急速な発展に伴い、PHP は広く使用されているプログラミング言語として、ますます多くの開発者に使用されています。 PHP 開発では、中国語のコンテンツを記述する txt ファイルなどのテキスト ファイルの読み取りと書き込みが必要になることがよくあります。ただし、エンコード形式の問題により、書かれた中国語が文字化けして表示されることがあります。この記事では、PHPでtxtファイルに書き込まれた中国語の文字化けを解決するテクニックと、具体的なコード例を紹介します。 PHP、テキストの問題分析

Outlook がアカウントの追加中にスタックする [修正済み] Outlook がアカウントの追加中にスタックする [修正済み] Mar 23, 2024 pm 12:21 PM

Outlook でアカウントを追加する際に問題が発生した場合は、次の解決策を試して解決できます。通常、これはネットワーク接続の障害、ユーザー プロファイルの破損、またはその他の一時的な問題によって発生する可能性があります。この記事で説明する方法を使用すると、これらの問題を簡単に解決し、Outlook を正常に実行できるようになります。 Outlook がアカウントの追加で停止する Outlook がアカウントの追加で停止する場合は、以下の修正を使用してください。 インターネットを切断して再接続する ウイルス対策ソフトウェアを一時的に無効にする 新しい Outlook プロファイルを作成する セーフ モードでアカウントの追加を試行する IPv6 を無効にする Microsoft サポートと回復アシスタントの修復を実行するOffice アプリケーション Outlook アカウントの追加が必要です

Douyin マトリックス管理システムのどのバージョンが推奨されますか?マトリックスマーケティングってどうやってやるの? Douyin マトリックス管理システムのどのバージョンが推奨されますか?マトリックスマーケティングってどうやってやるの? Mar 21, 2024 pm 03:50 PM

Douyin の人気に伴い、マーケティングに Douyin を使用し始める企業や個人が増えています。 Douyin マーケティングの重要なツールとして、Douyin マトリックス管理システムも広く注目されています。それでは、Douyin マトリックス管理システムのどのバージョンが推奨されますか?この記事では、この質問に答え、Douyin マトリックス マーケティングのプレイ方法を紹介します。 1. Douyin マトリックス管理システムのどのバージョンが推奨されますか? Douyin マトリックス管理システムには多くのバージョンがあり、現在市場では次のバージョンが一般的です: Douyin のマトリックス管理システムの公式バージョンは、特定の運用経験と予算を持つ企業向けに特別に設計されており、複数のアカウント管理、データ管理を実現できます。解析機能と材料ライブラリ機能。このシステムは、Douyin アカウントを管理する効率的な方法を提供し、企業が運用データをより深く理解し、

See all articles