smarty はバックエンド ロジックとフロントエンド スタイルを分離するテンプレート エンジンであり、ソース コードは PHP で書かれています。公式 Web サイトのアドレス: http://www.smarty.net/
最新バージョン 3.1 をダウンロードすると、マシンの Web ディレクトリにデモ フォルダーが作成され、シンプルな Smarty アプリケーションを実行できます。ドキュメントまたはデモの設定に従って、smarty を使用するのは非常に簡単です。基本的なファイル ディレクトリとコードは次のとおりです。
templates と templates_c は重要な 2 つのフォルダー構成です。templates は HTML テンプレートのディレクトリであり、templates_c は HTML を実行可能な PHP ファイルにコンパイルするためのディレクトリです。
smarty には、assign と display の 2 つの基本関数があります。 assign はパラメータを渡すことです (正確には、フロント デスクが必要とするデータを集約し、それを k-v 形式の一意の配列に割り当てます)。display は検索することです。ページ表示( assign の配列を受け取り、配列データ表示ページを出力)。最終的に、smarty はコンパイルされた PHP ファイルを実行し、echo や foreach などの PHP のネイティブ関数と連携して、構文の出力内容を templates_c フォルダーの下に保存します。
smarty2+和smarty3+执行的基本机制如图:
より簡単なプロセスは次のとおりです:
コンパイルされたindex.tpl.phpファイル:
<html> <head></head> <body> <?php foreach($arr as $key=>$val){ echo "<p>".$key."--".$val."</p>"; } ?> </body> </html>
$arr = array("name"=>"abc","tel"=>"2222","age"=>"2111"); //1、把html编译为PHP(省略掉复杂的smarty标签替换为PHP标签) //2、省略掉中间复杂的编译文件命名、文件引入/写入和cache情况 //3、include 编译后的PHP文件,并执行,注意此时的$arr数组可以在index.tpl.php中使用输出 include "index.tpl.php";