テンプレートエンジンは、データからデータを分離するテクノロジーであり、コアコンセプトは、ビジネスロジックを表示ロジックから分離することです。ページマークアップとプレゼンテーションロジックを分離することにより(たとえば、ループの場合、ステートメントの場合)、ページ生成効率を改善し、冗長コードを削減し、システムの保守性を向上させます。
従来の開発方法は、ビジネスロジックとプレゼンテーションロジックを組み合わせて、複雑なコードメンテナンスをもたらします。テンプレートエンジンを使用すると、2つを分離するとコードがよりモジュール化され、維持と再利用が容易になり、重複した労働が減少し、開発効率が向上します。
PHPでは、一部のサードパーティテンプレートエンジン(Smarty、Twigなど)を使用してページ分離を実現できます。この記事では、Smartyを例として、テンプレートエンジンを使用してページを分離する方法を説明する例として説明します。
まず、Smartyをダウンロードし、PHPのinclude_Path Pathに減圧する必要があります。 Smartyを/Vendor/Smarty/Pathに減圧すると、SmartyクラスライブラリをPHPファイルに導入する必要があるとします。サンプルコードは次のとおりです。
次に、Smartyクラスのインスタンスを作成する必要があります。コードは次のとおりです。
このコードでは、最初にSmartyのインスタンスを作成し、テンプレートディレクトリ、コンパイルディレクトリ、キャッシュディレクトリ、および構成ディレクトリを設定します。 PHP構文との競合を回避するために、Smartyテンプレートの左右の区切り文字も設定します。
次に、次のようにサンプルコードを使用して、テンプレートファイル(index.tplなど)を作成する必要があります。
テンプレートファイルでは、Smartyの可変交換用構文を使用して、$タイトルと$日付変数をテンプレートの適切な場所に挿入します。
次に、PHPファイルでSmartyのFetchメソッドを使用してテンプレートをレンダリングします。コードの例は次のとおりです。
このコードでは、$タイトルと$ date変数に値を割り当て、次にSmartyの表示方法を呼び出してテンプレートをレンダリングします。最後に、ブラウザに以下が表示されます。
<title>My Website</title>
<h1>Welcome to My Website</h1>
<p>Today is 2022-01-01</p>
テンプレートエンジンを使用すると、ビジネスロジックをプレゼンテーションロジックから効果的に分離することで、メンテナンスコストとコードの変更の難しさが削減されます。この記事では、Smartyを例に挙げて、テンプレートエンジンを使用してPHPでページ分離を実現する方法を紹介します。 Smartyインストール、インスタンス作成、テンプレートレンダリングなどの基本的な操作を習得することにより、開発者は明確で保守可能なPHPプロジェクトをより効率的に構築できます。