smarty
1. テンプレートの原則
1. テンプレートを使用する理由
1) シーン:
for($i=0;$i
echo ‘
}
上記の書き方はHTMLとPHPが混在しているため、開発やメンテナンスがしにくいです
2) シーン:
現在ウェブサイトを開発しましたが、一定期間運用した後、お客様がフロントデスクに満足できなかったため、別のインターフェースを開発しましたが、運用後にお客様は以前のスタイルの方が良いと考え、ウェブサイトのスタイルを変更することがよくありました。
上記 2 つの問題を解決する最善の方法は、テンプレートを使用することです
2. テンプレートの具体的な実装
テンプレートの実装は実際には文字列置換です
1) 例1
テンプレートファイル:
PHP ファイル:
1) 例 2:
テンプレートクラス:
PHPコード:
上記のクラス ファイルのコードは十分に最適化されていません。独自のプロジェクトを実装するには、より一般的なテンプレート フレームワークを使用できます。
2.Smartyの紹介1.スマーティとは
Smarty は、PHP をベースに開発された PHP テンプレート エンジンです。これにより、外部コンテンツからロジックが分離されます。
2.Smartyの特徴
スピード
l コンパイル済み型
l キャッシュテクノロジー
l プラグインテクノロジー
l 自由ステートメント if/elseif/else/endif
l リアルタイム更新: リアルタイム要件は比較的高いです
3. 構成
l http://smarty.php.net
l /lib
l Smarty 2.6 php4.0
l Smarty 3.0 php5.0
1 Smartyを解凍し、解凍されたディレクトリに入ります
デモ: ケース
Libs: Smarty ソースコード
1) libs ディレクトリに入ります、
プラグイン: カスタムプラグインディレクトリ
Sysplugins: システムプラグインディレクトリ
Debug.tpl: Smarty にはデバッグ機能があり、変数の値、デバッグ ウィンドウ テンプレートを観察できます
Smarty.class.php: Smartyコアクラスファイル(エントリーファイル)
SmartyBC.class.php: Smarty3.0は2.0をベースにアップグレードされています。2.0の機能を使用したい場合は、このエントリファイルを参照してください
3) libs ディレクトリをプロジェクトにコピーし、名前を変更します
3. クイックスタート
1. コードの実装:
テンプレートコード:
{$name}、{$age}: テンプレートタグ変数
プログラムコード:
2. Smarty の動作原理:
l Smarty は最初に PHP ソース ファイルを中間ファイルにコンパイルします
l キャッシュが有効な場合、コンパイルされたファイルに基づいてキャッシュ ファイルが生成されます
l その後アクセスするたびに、コンパイルされたファイルにアクセスします
l キャッシュが有効で、キャッシュ ファイルがあり、期限切れになっていない場合は、キャッシュ ファイルに直接アクセスします
初めて Smarty がプログラムを実行すると、プログラム用にコンパイルされたファイルが生成されます
今後、このプログラムを実行するたびに、テンプレートが変更されていない限り、コンパイルされたファイルを直接実行し、テンプレートが変更された場合は、コンパイルされたファイルを再生成して、再度実行します。
コンパイルとは、テンプレートのコンパイルを指します
3. 概略図: