WordPress の将来については多くのことが書かれており、特に Django、Ruby on Rails、Node.js、Laravel、さらには Drupal などのプラットフォームの場合、WordPress にはテンプレート言語が欠如していると多くの人が主張しています。テンプレート言語時間があります。 「WordPress は Web のほぼ 25% を支えている」 のような事実により、現在の PHP ベースのテンプレート システムに疑問を抱くのは難しくなります。しかし、コードのモジュール性がまだ欠けているため、コアにテンプレート エンジンがいつ存在するのかが疑問になることがあります。
朗報です! Twig テンプレート エンジンと Timber と呼ばれるプラグインは、WordPress で非常にクリーンでモジュール式のコードを作成するのに役立ちます。このシリーズでは、その実装と WordPress との統合について説明します。まずは Twig とは何か、なぜ Twig が必要なのかという基本から始めて、次の 3 つの記事で、Timber を通じて WordPress と統合するさまざまなタイプの Twig テンプレートについて説明します。
Twig は、柔軟、高速、安全な PHP テンプレート エンジンです。 Twig は、Symfony フレームワークの作成者である Fabien Potencier によって提供され、機能が豊富で広範で高速かつ効率的であると考えられています。
通常、WordPress でコードを作成するときは、PHP チャンクと HTML を混合します (これをスパゲッティ コードと呼びます)。これはスーパークリーンマークではありません。モジュール式の Doing it Right™ アプローチを採用するには、View
を Data
から分離する必要があります。 Twig を使用すると、view レイヤーをアプリケーションの残りの部分から分離できます。 Twig は、クリーンなコードを維持するのに役立つ Model-View-Controller (MVC) パターンを採用しています。
長年にわたり、さまざまな PHP テンプレート エンジンが開発されてきましたが、Twig は以下の機能において間違いなくそれらすべてを上回っています。
Twig は、最も機能が豊富で強力な PHP テンプレート エンジンの 1 つです。多重継承と自動出力エスケープをサポートし、テンプレートを複数のブロックまたはコンポーネントに分割してモジュール設計を維持するのに役立ちます。それだけでなく、開発者はフロントエンドのニーズを満たすためにさらにプラグインを追加できます。
Twig でコンパイルされたテンプレートは、通常の PHP テンプレートよりもオーバーヘッドがはるかに少なくなります。コーディング ルーチンは高度に最適化されており、開発時間を大幅に節約できます。 Twig は、Laravel であろうと WordPress であろうと、バックエンド フレームワークに接続できる別個のテンプレート レイヤーを作成するのに役立つため、ベース フレームワークを変更する計画がある場合にも役立ちます。
Twig はデザイナーと開発者の要件に適合します。コーディングのオタクでなくても、Twig を使用するのは簡単で、コンポーネントに基づいてモジュール式のテンプレートを作成するのは適切だと思います。その構文は理解しやすく、テンプレート ファイルに動的な PHP 操作を実装する必要がありません。全体として、これは非常に最新であり、最新のコーディング標準すべてで動作します。 Twig で処理する場合、出力エスケープの概念は非常に包括的です。
簡単な例から始めましょう。
通常の PHP では、次のような出力が得られます:
リーリーTwig では、物事はさらに単純です。つまり、上記のコードは次のように凝縮されています:
リーリーTwig では出力エスケープは非常に簡単です。二重中括弧を追加し、変数の名前を入力するだけで、出力が得られます。その隣にeの付いたパイプを置き、脱出を開始します。このシリーズの次の 3 つの記事では、これについて詳しく説明します。
###安全性###モードは、コード全体をインテリジェントに監視し、最良の結果を除外します。これは、ユーザーが作成したテンプレートを簡単かつ安全に実装できることを意味します。サンドボックス環境は、次のように、特定のテンプレートに対してグローバルまたはローカルでのみ有効にできます: リーリー 構文エラーが発生した場合、Twig は、ファイル名や問題のあるコードの行番号などの詳細を含む、ファイルをデバッグするためのメッセージを生成します。
###フレキシブル###Twig は最新のテンプレート エンジンであると先ほど述べましたが、これは非常に柔軟性が高いため、機能を拡張できることも意味します。効率的な
字句アナライザを完全にサポートしており、開発者はこれを通じてカスタム タグ、フィルタ、関数などを定義できます。 ###他の### 上記のすべての機能に加えて、Twig は十分に文書化されており、完全に単体テストされています。その API とテンプレート ライブラリは完全に安定しており、さまざまな複雑なタスクを処理できます。専用のオンライン ブックと完全な API ドキュメントも入手できます。 Twig は Drupal 8 の新しいテンプレート言語であり、これが私がこのテンプレート エンジンを自信を持って使用する主な動機です。 XWP の有能な人々、特に Weston Ruter は、Twig を WordPress.com VIP 標準に準拠させるための提案に取り組んでいます。
これまでの議論全体は 2 つのことを中心に展開してきました。まず、カスタム WordPress テーマを構築するときに、モジュール式のアプローチを採用し、テンプレートをデータから分離する必要があります。第 2 に、Twig がこれを支援します。しかし、何がこの 2 つを結びつけているのでしょうか?
Twig と WordPress の最適な統合を実現するためにさまざまな取り組みが行われてきましたが、その勇敢な試みの 1 つが、Upstatement という Web エージェンシーによって作成された Timber です。 Twig テンプレート エンジンを使用しているため、WordPress でモジュール式のクリーンなコードを作成できます。
Timber と Twig は、高速でモジュール式の WordPress テーマを構築するのに役立ちます。これにより、HTML コードを通常の PHP ファイルから分離できるため、より持続可能なコーディング パターンが保証されます。 HTML と PHP を分離するという概念により、PHP ファイルは data
とロジックの提供に厳密に焦点を当てることができ、HTML ファイル (Twig ファイル) は view
Web アプリケーション層に焦点を当てることができます。
一般に、Timber は 3 つの主要なタスクを実行します:
彼らのミッションステートメントがすべてを物語っていると思います:
Timber は、直感的で一貫性があり、完全にアクセス可能なインターフェイスを通じて HTML を高品質の WordPress テーマに変換したい開発者向けのツールです。
通常の WordPress テーマの場合、すべての PHP および HTML コード スニペットは同じ PHP テンプレート ファイルに統合され、変更されます。ただし、Timber では、テンプレート ファイルを 2 つの異なるデータ ファイル (PHP ファイルとビュー/テンプレート ファイル、Twig ファイル) に分割しました。
最初のファイルの拡張子は .php
で、2 番目のファイルの拡張子は .twig
です。したがって、single.php
のテンプレート ファイルを作成する場合、ファイルの名前は single.php
および single.twig
になります。
前者はデータをまとめたファイル、後者はHTMLのデータを利用したテンプレートです。このようにして、モジュール式の方法で WordPress テーマに動的なアクションを追加できます。
要約しましょう:
Timber は、PHP および HTML (Twig) ファイルの WordPress テーマ テンプレート ファイルを処理します。こうすることで、ロジックを表示から分離できます。テーマを構築、デザイン、表示する新しい方法が提供されます。###結論は###
次の記事では、Twig テンプレート ファイルを使用した実際の実装を示します。コード例を使用して、Twig を実装して WP 画像、コメント、メニューをレンダリングする方法を見ていきます。それまでの間、ご不明な点がございましたら、お気軽にご質問ください。 Twitter で私たちとつながることを忘れないでください。
以上がTwig のご紹介: WordPress 開発をすぐに始めるための完璧なツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。