ホームページ バックエンド開発 PHPチュートリアル PHP テンプレート テクノロジーの原理の詳細な分析 [1]_PHP チュートリアル

PHP テンプレート テクノロジーの原理の詳細な分析 [1]_PHP チュートリアル

Jul 21, 2016 pm 03:54 PM
php 1つ 使用 原理 存在する 開発する テクノロジー テンプレート 深く行く プログラム 解析する 合格

1. テンプレートの起源
テンプレート技術が存在する前、PHP を使用してプログラムを開発する場合、通常は PHP コードと HTML が混在していました。たとえば、ニュース リストはおそらく次の構造を持つ newslist.php ページです:

<?
//データベースから表示するニュース レコードを読み取ります
?>
<head> ……..
</head>
<?
<!-- ニュースタイトルを出力します<? }
?>
</html> これの何が問題なのでしょうか?まず、分業や協力がうまくいきません。一般的に、プログラマーがコードを書き、アーティストがページをデザインします。このアプローチでは、プログラマはアーティストがインターフェイスを設計するまで待ってから作業を開始する必要があります。つまり、プログラマーとアーティストの作業を同期させることはできません。第二に、メンテナンスが容易ではなく、メンテナンス性が低い。たとえば、プログラムが修正された後にインターフェイスを変更したい場合は、アーティストがインターフェイスを変更し、その後プログラマーが再度インターフェイスを追加する必要があります。最後に、プログラムの構造はわかりにくく、読みにくいです。 HTMLとPHPが混在していて、プログラムが増えすぎると非常にごちゃごちゃになってしまいます。

テンプレートの原理を理解する - PHPタグを使用したテンプレート技術
これらの問題を解決するために登場したテンプレート技術は、PHPタグを使用したテンプレート技術です。
まず、テンプレートの目的を理解する必要があります。テンプレートは主にいくつのタスクを実行しますか?まず、アートとプログラミングの分離です。より正確には、データの取得とデータの表示の分離です。 2つ目は、分業です。分業と協力がうまくいきます。
たとえば、ニュース リストの場合、テンプレートを使用すると、ニュース リストの操作を 2 つの部分に分けることができます。
1. getnews.php は、データベースから配列 $news にデータを読み取る役割を果たします。 $news がどのように表示されるかに注意してください。
2. Shownews.php は、$news 配列を HTML ページに出力します。そして、$news がどこから来たのかを気にする必要はありません。
さて、このようにしてアートとプログラムの分離が完了し、当初の目的は達成できましたが、この 2 つのページをどのように組み合わせて listnews.php の機能を実現するのでしょうか?
これには、「アーティスト (データの表示)」と「プログラマー (データの取得)」を接続する別のページ listnews.php が必要です。このページは非常にシンプルです。
getnews.php のコードが次のとおりであるとします:
<?
$news = "ニュース リスト";//実際には、データベースから読み取られる必要があります。
?>

Shownesw.php のコードは次のとおりです:
<head> ニュースを表示</head> ;? =$news?>
</html>

この共同ページのコードは非常にシンプルです
<? // データの取得
Include('shownesw.php');// データの表示
?> PHP タグのテンプレート システムを使用すると、アーティストとプログラムを適切に分離できると同時に、プログラマーとアーティストの作業分業 たとえば、上記の例では、shownews.php はアーティストによって保守され、getnews.php はプログラマーによって保守されます。また、listnews.php はシステム設計者によって保守できます。もちろん、いくつかの合意文書を追加する必要があります。
実際、この簡単な例は、最も基本的な MVC モデルも示しています。このうち、モデルの M は、getnews.php に相当するデータの読み取りを担当します。 V はデータを表示するために使用されるビューで、shownews.php に対応します。最後に、コントローラー C があります。これは、listnews.php に対応します。

解釈テンプレート技術を学ぶ - PHPLIB
Phplib のテンプレート システムは、その小さく、柔軟で、便利でシンプルな機能で多くの Phplib の支持を得ており、テンプレート テクノロジ、および fasttemplate などのテンプレート エンジンは、解釈型テンプレート テクノロジです。
phplibの使い方を詳しく説明する前に、まずphpタグを使用したテンプレートシステムがなぜ改善され続ける必要があるのか​​を説明しましょう。実際、これは主に PHP タグがアーティストにとって不便であることが原因です。彼らは、{title} などのこの視覚的なタグを直接使用することを好みます。
まず、視覚的なタグを使用するように前の例を変更しました。最初のステップは、shownews.php を shownews.tpl に変更し、shownews.tpl のコードを次のとおりです。ニュース< /title>
<body>
</html> 2番目のステップ、listnews.php実際には、{title} を直接置き換えるだけです。したがって、変更された listnews.php コードは次のようになります:
<?
Include('getnews.php');//データを取得
echo str_replace('{title}',$news,file_get_contents('shownews.tpl') ))
?>

実際、phplib の原理はまさにこれと同じです。たとえば、phplib を使用して上記の関数を実装したい場合は、listnews.php を変更するだけで済みます。 include('template.class.php');
$t=new Template();
$t->set_file('shownesw,'shownews.tpl'); $news);
$t ->parse('out', 'shownesw');
$t->p('out');
対応するマニュアル。

サムルティをまとめました。次回も引き続き話しましょう



http://www.bkjia.com/PHPjc/318531.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/318531.html

技術記事

1. テンプレートの起源 テンプレート技術が存在する前、PHP を使用してプログラムを開発する場合、通常は PHP コードと HTML が混在していました。たとえば、ニュース リストはおそらく newslist.php ページです...

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles