Twigのタグ学習(中国語)パート3完了_PHPチュートリアル
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
{% spaceless %}
foo
{% endspaceless %}
{# output will be
自動エスケープタグ
とても恥ずかしいので理解できませんでした。私はそれが文字通り自動エスケープを意味することを知っています。 。しかし。 。実験中はまだ使い方が分かりませんでした
彼が公式に挙げた例は
{% 自動エスケープ 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

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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 は広く使用されているプログラミング言語として、ますます多くの開発者に使用されています。 PHP 開発では、中国語のコンテンツを記述する txt ファイルなどのテキスト ファイルの読み取りと書き込みが必要になることがよくあります。ただし、エンコード形式の問題により、書かれた中国語が文字化けして表示されることがあります。この記事では、PHPでtxtファイルに書き込まれた中国語の文字化けを解決するテクニックと、具体的なコード例を紹介します。 PHP、テキストの問題分析
![Outlook がアカウントの追加中にスタックする [修正済み]](https://img.php.cn/upload/article/000/887/227/171116770937641.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Outlook でアカウントを追加する際に問題が発生した場合は、次の解決策を試して解決できます。通常、これはネットワーク接続の障害、ユーザー プロファイルの破損、またはその他の一時的な問題によって発生する可能性があります。この記事で説明する方法を使用すると、これらの問題を簡単に解決し、Outlook を正常に実行できるようになります。 Outlook がアカウントの追加で停止する Outlook がアカウントの追加で停止する場合は、以下の修正を使用してください。 インターネットを切断して再接続する ウイルス対策ソフトウェアを一時的に無効にする 新しい Outlook プロファイルを作成する セーフ モードでアカウントの追加を試行する IPv6 を無効にする Microsoft サポートと回復アシスタントの修復を実行するOffice アプリケーション Outlook アカウントの追加が必要です

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