静的 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
true
http://www.bkjia.com/PHPjc/315430.html
技術記事
静的 Web サイト テンプレート フレームワーク まず、以前と同様にすべてのページの共通要素と全体的なページ レイアウトのテンプレート ファイルを作成し、すべてのページから共通部分を削除して...
;