私は現在、生産現場でSmartyテンプレートシステムを使用していますが、このテンプレートエンジンを使用することで、パフォーマンスがどれだけ低下するのか興味があります。より速い選択肢はありますか?そのようなテンプレートシステムを使用する必要がないようにコーディングする方法はありますか?ありがとうございました!
4 に答える
コードをプレゼンテーションから分離するために外部のテンプレートエンジンは必要ありません。必要なのはそのためのロジックだけです。PHP自体はテンプレートエンジンとしては完全に問題ありません。PHPコードとHTMLを混在させないでください。テンプレートエンジンは、プログラマーでないWebデザイナーにとっては習得が簡単です。
明白な答え-PHPを使用するだけです。Smartyを使用することを好みますが、多くの人がそれはテンプレート言語であると主張しています。
Smartyは、PHP開発者に、ビジネスロジック、データベース呼び出しなどをプレゼンテーションから分離するように強制します。ただし、規律のあるPHP開発者は、PHPをテンプレート言語として使用し、プレゼンテーションを分離しておくことができます。
また、XSL変換を使用して、ロジックをプレゼンテーションから分離することもできます。XSLT-transformerはXMLツリーを受け取り、XSLT変換を使用してプレゼンテーションを生成してHTML出力を生成します。
しかし、XSLTは学習が非常に難しく、XMLとXPathの知識が必要です。最近のプロジェクトでSmartyを使用していますが、現在のプロジェクトはXSLTテンプレートに基づいて構築されているため、XSLTを学ぶ必要がありました。Smartyとその祖先であるFastTemplateは、私にはもっと複雑に思えます。ただし、XSLTは、ロジックをプレゼンテーションから分離するもう1つの方法です。
XMLとXSLTの利点は、これらのテクノロジーがPHPだけでなく、さまざまな言語で使用されることです。
さらに、もう1つのテンプレートエンジンがあります-PHPテンプレートエンジン。DrupalCMSのデフォルトのテンプレートエンジンです。私はDrupalの専門家ではないので、それについては何も言えません。ただし、PHP構文を使用しているため、習得は非常に簡単です。
XSLTについてはここで読むことができます。
私の答えがあなたのお役に立てば幸いです。
Pstttを試すことができます!PHP用のテンプレートエンジン
完全なソースコードはこちらhttp://github.com/givanz/psttt