ホームページ >バックエンド開発 >PHPチュートリアル >テンプレートエンジン Smarty を使って PHP プログラムを開発する_PHP チュートリアル

テンプレートエンジン Smarty を使って PHP プログラムを開発する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:30:46893ブラウズ


1. MVC にはテンプレートが必要です
MVC は、SmallTalk 言語の開発プロセス中に、それぞれ「モデル」、「ビュー」、「コントロール」を表す設計パターンとしてまとめられ、その目的は、それぞれの異なる開発役割を実行できるようにすることです。大規模および中規模のプロジェクトでそれぞれの職務を担当します。ネットワーク アプリケーションの開発では、次の図を使用して概念間の関係を表すことができます。

テンプレートエンジン Smarty を使って PHP プログラムを開発する_PHP チュートリアル

この図は、ユーザーがブラウザ上で見る情報はデータベースサーバー上のコンテンツですが、以前はアプリケーションサーバーによって処理されています。開発者は、データ構造、データ処理ロジック、データ表現方法を確立する責任があります。 "

1996年にcgi(今はあまり使っている人はいない)それが中国で普及したとき、初期のWEBプログラマーはHTMLから独学で学びました。PERLでHTMLの行を印刷するのは通常のプロセスではありませんでした。それは難しいことですしかし、ネットワークが段階的に高速化するにつれて、ページ サイズも元の 20 K から 30 K に 10 倍に増加しました。CGI (現在はあまり使用していない) プログラムを作成するために、PERL と を分離するという緊急の要件が生じました。 HTML ソースコード したがって、アーティストとプログラマーはお互いの仕事にあまり慣れていないため、コミュニケーション中に合意された「言語」を使用する必要があります。言語は私たちの母語でも英語でもありませんが、ロジックとプレゼンテーションはそれに依存します。これは、HTML とスクリプト言語の特性を組み合わせた表現であり、ロジック層で処理されたデータを表示できます。 Windows プラットフォームでの MFC 開発経験がある場合は、Web アプリケーションの非常に典型的な MVC の例に精通していると思います。 J2EE の /servlets/jsp (SUN エンタープライズ レベル アプリケーションの最初の選択肢)
は最も強力であり、もちろん、シンプルで美しい Structs もあります。この組み合わせはほとんどの人に使用されています。私たちの国では、WEB アプリケーションのいくつかの MVC 実装を比較することで、HTML に挿入された一連のスクリプト、またはスクリプトに挿入された HTML が、この挿入されたコンテンツを通じてデータを変更することを表すテンプレートについての概念を得ることができます。このテンプレートは、ブラウザに「Hello, world!」を表示するために処理されます
$greetings


$greetings
特別な比較ディスカッションをします


次に、SMARTY を選ぶ理由は何ですか?

(現在の主流の開発言語として) php
の場合、初期の php
( など) から選択できるテンプレート エンジンが多数あります。現在の主流の開発言語として)
LIB テンプレートと新星 Fast テンプレートは、数回のアップグレードを経て非常に完成度が高く、安定しています。現在使用しているテンプレート エンジンに満足している場合は、次を読んでください。フリー ソフトウェアの愛好家や、効率性と優雅さを追求する開発者にとっては、次の SMARTY の紹介は興味深いものとなるでしょう。

個人的な好みの影響を除けば、私はこれまで、apache(Unixプラットフォームで最も人気のあるWEBサーバープラットフォーム)xml
(標準化が近づいています)エンジンAxisなどの公式の標準実装を使用する傾向がありました。利点は、可能な限り最高の互換性が得られることです (たとえば、初期の MFC と Win3x の互換性は他のアプリケーション フレームワークよりも優れていました。もちろん、現在ではすべてのバージョンが非常に完成しています)。 SMARTY がリリースされる前は、PEAR の Integrated Template eXtension を使用していました。このエンジンは、php(現在の主流の開発言語として)LIB テンプレートと Fast テンプレートとほぼ互換性があり、テンプレートの構文からテンプレートの処理までは同じです。テンプレートをメモリに読み込んでから実行します。 parse( ) 関数を呼び出し、プリセットのタグをデータに置き換えます。
SMARTYがどのように行うかを見てみましょう。リクエストを受信した後、まず URL が初めてリクエストされたかどうかを判断し、リクエストされた場合は、その URL に必要なテンプレート ファイルを php
(現​​在の主流の開発言語) スクリプトに「コンパイル」します。つまり、URL のテンプレートは「コンパイル済み」です。再コンパイルの必要がないことを確認したら、すぐにリダイレクトできます。デフォルトでは、再コンパイル条件は一定の時間制限に設定されています。テンプレートファイルが変更されます。

どうでしょう?考えてみれば──これが、jsp(SUNのエンタープライズレベルアプリケーションの第一候補)の原則ではないでしょうか!確かに、この種の「コンパイル」が php (現​​在主流の開発言語) のようなインタープリター型スクリプト エンジンで使用されているのは信じられないことのように思えますが、よく考えてみると、JAVA もまた、 JVM?これを「不可能なことは何もない、ただ想像できるだけ」といいます。

JAVAについて話したので、(現在の主流の開発言語としての)phpの将来について私の意見を述べさせてください。 php(現在の主流の開発言語として)の公式ウェブサイトは、バージョンphp(現在の主流の開発言語として)5.0が2003年末にリリースされると発表しました。このバージョンには、例外処理、名前空間、よりオブジェクト指向など、多くの新機能が含まれています。 JAVA に近づいていると言えます。SMARTY も新機能の 1 つで、php (現​​在の主流の開発言語) が大規模および中規模のプロジェクトの開発により適したものになっています。しかし、最初にそれを選んだ理由、つまり柔軟性と使いやすさからはどんどん遠ざかっているように思えます。しかし、ソフトウェアのライフサイクルの観点から見ると、php(現在の主流の開発言語として)は成長段階にあり、商用アプリケーションに対応できるようにすることを期待して、より多くの機能を提供しています。デメリットよりも。 php(現在の主流の開発言語として)の忠実なユーザーとして、php(現在の主流の開発言語として)が常に「能力不足」だと非難されることは絶対に望んでいませんよね?

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/509135.html技術記事 1. MVC にはテンプレートが必要です。MVC は、SmallTalk 言語の開発プロセス中に最初にデザイン パターンとしてまとめられました。その目的は、さまざまな開発者が使用できるようにすることです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。