PHP の世界にはさまざまなテンプレート クラスが登場していますが、Smarty の機能は比較的強力であるため、他のテンプレート クラスよりも使用が少し複雑です。 30 分ほどかけてすぐに始めましょう。
1.インストール
まず、Webページ http://smarty.php.net/download.php を開き、Smartyの最新バージョンをダウンロードします。ダウンロードしたファイルを解凍します(ディレクトリ構造は非常に複雑です)。次に、インストール例を示します。これを読めば、推測できるはずです。
(1) ルートディレクトリに新しいディレクトリ learn/ を作成し、Learn/ 内にディレクトリ Smarty/ を作成しました。先ほど解凍したディレクトリのlibs/をsmarty/にコピーし、smarty/に新しいtemplatesディレクトリを作成します
に、新規にcache/、templates/、templates_c/、config/を作成します。テンプレート ファイル:index.tpl、このファイルを learn/smarty/templates/templates ディレクトリに置きます。コードは次のとおりです:
コードをコピーします コードは次のとおりです:
http-equiv="Content-Type" content="text/html; charset=gb2312">
新しいindex.phpを作成し、このファイルをlearn/の下に置きます:
コードをコピーします
コードは次のとおりです:
//クラスファイルを参照します
require 'smarty/ libs /Smarty.class.php'; $smarty = new Smarty; //各ディレクトリのパスを設定します。ここがインストールの焦点です
$smarty->template_dir = "smarty/templates/templates";
$smarty->compile_dir = "smarty/templates/templates_c";
$smarty->config_dir = "smarty/templates/config";
$smarty->cache_dir = "smarty/templates/cache";
//smarty テンプレートにはキャッシュ機能があります。これが true の場合、キャッシュはオンになりますが、Web ページがすぐに更新されないという問題が発生します。もちろん、他の方法でも解決できます。
$smarty->caching = false;
$ hello = "Hello World!"
//値を割り当てる
$smarty->assign("hello",$hello); $smarty->display('index.tpl')
?>
(3)index.phpを実行してHello World!を確認します。
2.代入
テンプレートファイル内で置換が必要な値を中括弧{}で囲み、値の前に$記号を追加します。たとえば、{$hello} などです。ここには、{$ hello.item1}、{$ hello.item2}…
などの配列を指定できます。php ソース ファイルには単純な関数 assign (var, value) のみが必要です。
*.tpl:$ hello [time] =” smarty>
.tpl:テンプレートファイル内 if else 判定文、つまりロジックプログラムをテンプレート内に組み込むことができます。 "eq"、"ne"、"neq"、"gt"、"lt"、"lte"、"le"、"gte"、"ge"、"偶数"、"奇数"、"偶数ではない" 、「奇数ではありません」、「不一致」、「mod」、「除算」、「偶数で」、「奇数で」、「==、「!=」、「>」、「<」、 "<=",">="これらは if で使用できる比較です。ちょっと見てみると、それが何を意味するかがわかります。
あります』/5. Smarty での円形配列の使用方法について説明します。 assign PHP ソース ファイルで 1 つの assign が必要である限り、トラバーサルはテンプレート内で解決されます。問題は解決できます。
例:
{* この例では $custid 配列のすべての値を出力します *}
{セクション名=顧客ループ=$custid}
id: {$custid[顧客]}
{ /section}
id: 1000
id: 1002
すべてが独自のものとみなされます。ロジックプログラムなので、いつWeb ページに JavaScript 関数を挿入したい場合は、リテラルの助けが必要です。リテラルの機能は、中括弧 {} を無視することです。
')login.submit();
http://www.bkjia.com/PHPjc/317630.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/317630.html
技術記事
PHPの世界には様々なテンプレートクラスが登場していますが、Smartyは機能性と速度の点で常に先頭に立っていました。Smartyの機能は比較的強力なので、より使いやすいです...
。