ホームページ >バックエンド開発 >PHPチュートリアル >PHPを使って静的Webサイト用のテンプレートフレームワークを作成する(4)_PHPチュートリアル

PHPを使って静的Webサイト用のテンプレートフレームワークを作成する(4)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:06:31823ブラウズ

静的 Web サイト テンプレート フレームワーク

まず、以前と同様に、ページのすべての共通要素とページ全体のレイアウトのテンプレート ファイルを作成し、すべてのページから共通部分を削除して、ページ コンテンツのみを残します。次の 3 行の PHP コード:




php pageStart('ホーム');

ようこそ

このウェブサイトを気に入っていただければ幸いです

?php pageFinish(); >

このメソッドは基本的に上記のような問題を解決します。ファイル内には現在 PHP コードが 3 行しかなく、その中にはテンプレートを直接参照していないため、このコードを変更する可能性は非常に低いです。また、HTML コンテンツは PHP マークアップの外側にあるため、特殊文字の処理に問題はありません。これら 3 行の PHP コードをすべての静的 HTML ページに簡単に追加できます。

require 関数は、必要なテンプレート関連の PHP コードをすべて含む PHP ファイルを導入します。 pageStart 関数はテンプレート オブジェクトとページ タイトルを設定し、pageFinish 関数はテンプレートを解析して結果を生成し、ブラウザに送信します。

これはどのようにして実現されるのでしょうか? pageFinish 関数が呼び出されるまで、ファイル内の HTML がブラウザに送信されないのはなぜですか?答えは、ブラウザーに出力されたコンテンツをバッファーにインターセプトできるようにする PHP 4 の新機能にあります。 prepend.php の具体的なコードを見てみましょう。 $ tpl = new FastTemplate('.');
$tpl->define( array( 'main' => 'main.htm',
'header' => 'header.htm',
'leftnav' = > 'leftnav.htm' ) );
$tpl->assign('TITLE', $title);
}

function pageFinish() {
$content; ob_get_contents ();
$tpl->assign('CONTENT', $content);
$tpl->parse('HEADER', 'header'); ' LEFTNAV', 'leftnav');
$tpl->parse('MAIN', 'main');

?>



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

www.bkjia.com

tru​​e

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

技術記事

静的 Web サイト テンプレート フレームワーク まず、以前と同様にすべてのページの共通要素と全体的なページ レイアウトのテンプレート ファイルを作成し、すべてのページから共通部分を削除して...



;

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