ホームページ > バックエンド開発 > PHPの問題 > php twig とはどういう意味ですか?

php twig とはどういう意味ですか?

藏色散人
リリース: 2023-03-01 18:52:01
オリジナル
3748 人が閲覧しました

php twig は、柔軟で高速かつ安全な PHP テンプレート エンジンです。Twig は、テンプレートを純粋で最適化された PHP コードにコンパイルします。Twig には、信頼できないテンプレート コードを評価するためのサンドボックス モードがあります。Twig は、柔軟なレクサーとパーサーによって駆動されます。

php twig とはどういう意味ですか?

php twig

Twig は、柔軟で高速かつ安全な PHP テンプレート エンジンです。

高速: Twig はテンプレートを純粋で最適化された PHP コードにコンパイルします。従来の PHP コードに比べてオーバーヘッドが極めて低く抑えられています。

セキュリティ: Twig には、信頼できないテンプレート コードを評価するためのサンドボックス モードがあります。これにより、ユーザーがテンプレートのデザインを自分で変更できるアプリケーションで Twig を使用できるようになります。

柔軟性: Twig は柔軟なレクサーとパーサーによって強化されています。これにより、開発者はタグとフィルターをカスタマイズし、独自の DSL を作成できます。

なぜこのテンプレート エンジンがあるのですか?

テンプレート エンジンを PHP に導入する場合、多くの人は PHP 自体がテンプレート エンジンであると言うでしょう。 PHP はもともとテンプレート言語として使用されていましたが、近年はテンプレート エンジンのように進化していません。実際、最新のテンプレート エンジンの多くの機能はサポートされていません。

簡潔さ: PHP 言語は、出力エスケープに関しては途方もなく冗長です。

<?php echo $var ?>
<?php echo htmlspecialchars($var, ENT_QUOTES, &#39;UTF-8&#39;) ?>
ログイン後にコピー

対照的に、Twig の構文は非常に簡潔で、テンプレートが読みやすくなっています。

{{ var }}
{{ var|escape }}
{{ var|e }}         {# shortcut to escape a variable #}
ログイン後にコピー

テンプレート指向の構文: Twig は、空の配列を反復処理する場合などの一般的なパターンのショートカットを提供します。 、デフォルトのテキストが表示されます:

{% for user in users %}
    * {{ user.name }}
{% else %}
    No users have been found.
{% endfor %}
ログイン後にコピー

フル機能: Twig は、多重継承、ブロック、自動出力エスケープ、その他多くの機能など、強力なテンプレートを簡単に構築するために必要なすべてを提供します:

{% extends "layout.html" %}
{% block content %}
    页面内容...
{% endblock %}
ログイン後にコピー

学習が簡単: Twig の構文は学習が非常に簡単で、Web デザイナーでも何の支障もなく作業を迅速に完了できます:

もちろん、PHP は多くのテンプレート エンジン プロジェクトで使用される言語でもあります。しかし、それらのほとんどは依然として PHP 4 を使用して開発されており、Web 開発のベストプラクティスをサポートしていません:

スケーラビリティ: Twig は、最も複雑なケースのニーズであってもニーズを満たすのに十分な柔軟性を備えています。オープン アーキテクチャのおかげで、独自の言語構造 (タグ、フィルター、関数、演算子など) を実装して独自の DSL を作成できます。

単体テスト済み: Twig は完全な単体テストを受けており、安定しており、大規模なプロジェクトでも使用できます。

ドキュメント: Twig には完全なドキュメント、専用のオンライン マニュアル、そしてもちろん完全な API ドキュメントがあります。

セキュリティ: セキュリティといえば、Twig にはいくつかのユニークな機能があります:

自動出力エスケープ: セキュリティ上の理由から、自動出力エスケープをグローバルに、または特定のブロックに対してのみ有効にすることができます:

{% autoescape true %}
    {{ var }}
    {{ var|raw }}     {# var won&#39;t be escaped #}
    {{ var|escape }}  {# var won&#39;t be doubled-escaped #}
{% endautoescape %}
ログイン後にコピー

サンドボックス: Twig はサンドボックス環境で任意のテンプレートを評価できますが、ユーザーは開発者が定義した限られたタグ、フィルター、オブジェクト メソッドのセットにのみアクセスできます。サンドボックスは、特定のテンプレートに対してグローバルに、または個別に有効にすることができます。

{{ include(&#39;page.html&#39;, sandboxed = true) }}
ログイン後にコピー

エラー メッセージのクリア: テンプレートで構文エラーが発生すると、Twig はエラー情報のファイル名と行番号を示すヘルプを出力します。デバッグに非常に役立ちます。

高速: Twig の目標の 1 つは、できるだけ高速になることです。可能な限り最高の速度を達成するために、Twig はテンプレートを非常に最適化された PHP コードにコンパイルします。従来の PHP コードに比べてオーバーヘッドが極めて低く抑えられています。

関連知識の詳細については、PHP 中国語 Web サイト!

をご覧ください。

以上がphp twig とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート