ホームページ >バックエンド開発 >PHPチュートリアル >高度な PHP テンプレートの概要

高度な PHP テンプレートの概要

WBOY
WBOYオリジナル
2016-07-29 08:35:48944ブラウズ

PHP を使ってコードを素早く書くには、テンプレートを使うしかないようです。しかし、PHPer は最終的にテンプレートの使用に固執するべきでしょうか、テンプレートを諦めるべきでしょうか、それとも独自のテンプレートを使用すべきでしょうか?
次の考えはすべての PHPer に属します:
「実際、テンプレートについて最も重要なことは、それが自分の習慣ではなく、自分のプロジェクトのニーズに適合することです。たとえば、企業のプロモーション Web サイトのアクセス数は多くなく、ほとんどありません。 PHP+HTML で直接記述するのがおそらく最も速いですが、ニュース システムやコンテンツ パブリッシング システムの場合は、テンプレートを使用することが非常に必要です。すべてに共通点が 1 つあります。それは、同じスタイルのページ デザインを使用するページの種類があり、訪問の規模、プロジェクトの緊急性、プログラマーの熟練度などの実際の状況に応じて異なります。テンプレート テクノロジー、プロジェクトに最適なテンプレート テクノロジーを選択します。これが最初の選択肢です。「[from leslee]
」私は PHP を学び始めて以来、smarty テンプレート エンジンを使用しています。 )、長く使えば使うほどテンプレートは良いものだと思うので、他のPHPerも同じようにテンプレートを使ってプログラムを書くと思います。テンプレート設計の本来の目的は、コードとページを分離して別々に処理することです。結局のところ、コードを書きながら同時にページを処理したい人はいません。」
「SMARTY はすでに非常に優れているという人もいます。 SUPERTPL の方が優れているという人もいますし、PHPLIB を好む人もいると思います。それぞれのテンプレートには独自の長所と短所があると思います。「[feifengxlq より]」テンプレートを使用することに問題はありませんでした。私はもともと PHPLIB を使用していましたが、最終的には、各テンプレート変数を置換するために記述する必要があり、参照する各テンプレートを 1 行で記述する必要がありました。コード(おそらく PHPLIB にはバッチ処理機能があるかもしれません。私は素朴すぎて知りません)でした。その後、smarty は大きすぎると感じて、plog を使用して Web サイトを構築しました。確かに開発のスピードは上がりましたが、実際には使用されなかった関数が多かったので、最終的にはテンプレート変数の置き換え関数を独自に作成しました。他のテンプレートと foreach ブロック操作関数を含めます。」
「私はまだ PHPLIB を使用していますが、私自身の経験に基づいていくつかの関数またはクラスを作成し、最も一般的に使用されるテンプレート出力処理の一部をカプセル化する必要があります。」私は独自のテンプレートを使用しており、テンプレート解析コードを作成する必要があるので、既存の優れたテンプレートを使用することにしました。」 ..まだそのレベルに達していないかもしれません...個人的には、テンプレートを使用する方が良いと思います...少なくとも作業を分割できます...独自のテンプレートを使用することはできません。必要です… 既製のものを使用するだけです… 既製のものをベースに、学びたい実用的な機能を追加します。 " [Phzzy より] "私はテンプレート エンジンを使用していませんが、あなたのものとは異なるだけで、今でもテンプレートを使用しています。テンプレートエンジンが遅すぎるため、使いにくいと感じます。 ”
「私はサードパーティ、できればオープンソースを使用しています。どちらを使用するかについては、個人の好みによって異なります。 」 [leeyupeng より] 「私は今でも、シンプルで実用的な独自のテンプレートを使用することが多いです。 "[Yuhi より] "パフォーマンスを考慮して、私は通常、ユニバーサル テンプレートを使用しません。実際の状況に基づいていくつかのトレードオフを行いますが、これには一定の制限があります。 "[ベンより] "テンプレートを使用するかどうか、またどのテンプレートを使用するかは、ニーズに基づいて決定してください。柔軟であることは決して悪いことではありません。 "[xlmo より] "個人的にはシンプルで高速なテンプレートが好きです。ただし、通常は実際のプロジェクトに基づいて最適化し、使用しない機能を削除します。 "
"テンプレートの使用は一般にボトルネックを引き起こしません。効率に関しては、主に次の点に影響します:
1. プログラムとテンプレートが分離されると、1 つのファイルが 2 つ以上になり、テンプレートを読み取る IO も増加します。時間をかけることが重要です
2. テンプレートの解析は比較的複雑で、通常、処理または置換するために N 個の preg_match、preg_replace、その他の関数が必要です
3. テンプレートの読み込みと置換には、明らかにテンプレートを使用しない場合よりも多くのメモリが必要です
したがって、効率を向上させるには次の点を考慮してください: 1. コンパイルとキャッシュをサポートするテンプレート解析プログラムを選択します。これは、どのように柔軟に適用するかによって異なります。すべての機能を含める必要があります。使いやすくなりますが、パフォーマンスも悪くなります
3. HTML テンプレート ページを作成するときも、xhtml 標準に従って作成するなど、単純な原則に従い、分割しないように努めます。ページを多くのテンプレートに分割し、それらを含めます。
「テンプレートを使うなら、能力があれば自分で書いた方が良いと思います。これも運動です。でも使うならXiaoqiangが良いと思います。視覚化しながら編集できます。"[jejwe より]"個人的には、テンプレート ファイルの視覚的な編集機能は非常に重要だと考えています。テンプレート ページの作成には、かなりのプログラム開発基盤が必要であるとは限りません。 "[セラフより]"特定の問題の詳細な分析、テンプレートを使用するかどうか、すでに形成されている優れたテンプレート クラスを選択するか自分で作成するかなど、すべては特定のプロジェクト開発に基づいており、どちらかに決めます。 "[Deepseath より] "既存のテンプレートは機能が少なかったり速度が遅かったりして、十分に完璧ではないと感じます。自分で作成した方が良いです。 ”
”要約すると、PHP テンプレートを使用すると、コードのコンテキストがより明確になり、構造がより合理的になります。ただし、PHP テンプレートの開発は、PHP アプリケーションの迅速な開発よりも常に遅くなります。この場合、PHP アプリケーションの開発に影響します。すべての PHPer にとって、最適で完璧な PHP テンプレートはありません。いわゆる PHP テンプレートは一般的なものであり、個人的なものではないからです。したがって、PHP の特性とアプリケーションを明確に理解した上で、テンプレートの長所と短所、および PHP アプリケーションの原則を十分に理解できれば、PHPer は自分の開発スタイルに合わせて必要な PHP テンプレートを入手できます。これは PHP の最も重要な考え方の 1 つでもあります。PHP は方法とアプローチを提供するだけであり、最終的な解決策ではありません。したがって、PHP アプリケーションや製品と同様に、テンプレートを独自の PHP テンプレートに変換できます。そこには作り手の思いが込められているからです。
時間や経験などさまざまな条件によって制限されるため、独自の PHP テンプレートを作成するのは非常に難しいと思われるかもしれません。実際、必要なのは PHP テンプレートを再構築することではなく、最も近い PHP テンプレートを選択して変換することです。 PHP には継承と革新が必要だからです。もちろん、独自の PHP テンプレートを作成して段階的に実装し、最新のアイデアや概念をタイムリーに取り入れます。個々の PHPer は、詳細から、最も必要なところから、そして自分の開発習慣から始めることができます。 PHPer チームは協力して PHP テンプレートをローカライズできます。これは企業にとって特に実用的です。 PHP テンプレート内のシンボルを変更しただけの場合でも、シンボルだけで、そのシンボルが変更されたこと、およびそのシンボルがあなたのものであることを示すことができます。最も重要なことは、独自の PHP テンプレートは決して固定されることがなく、あなたとともに成長し、あなたの PHP の旅の証人になるということです。
PHP では、高度な構文は必要ありません。PHP では、多数のライブラリを自分で開発する必要はありません。PHP では、言語自体のパフォーマンス、安定性、その他の特性について心配する必要はありません。 PHP に必要なのはあなたのロジック、PHP に必要なのはあなたの思考です。 」

以上、PHP テンプレートの高度な部分を内容も含めてまとめて紹介しましたので、PHP チュートリアルに興味のある方の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。