ホームページ  >  記事  >  バックエンド開発  >  php—Smarty-1 (18)、phpsmarty-118_PHP チュートリアル

php—Smarty-1 (18)、phpsmarty-118_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:54:57864ブラウズ

php—Smarty-1 (18)、phpsmarty-118

smarty

1. テンプレートの原則

1. テンプレートを使用する理由

1) シーン:

for($i=0;$i

echo ‘’.$row[‘proname’].’

}

上記の書き方は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. 概略図:

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/993275.html技術記事 php—Smarty-1 (18)、phpsmarty-118 Smarty 1. テンプレートの原則 1. テンプレートを使用する理由 1) シナリオ: for($i=0;$i$count;$i++){ echo td.$row[proname] ./td } 上記の書き方は…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。