Smarty
Day01-----smartyの使い方
機能: php+html、プログラム、アートの分離
使い方:
1. ソースコードパッケージをダウンロード
2. ディレクトリ構造
libs
ソースコードファイル
Smarty .class.php
template //テンプレート ファイル html ファイル
template_c //プログラム実行中に自動的に生成されるテンプレート コンパイル ファイル
3. インスタンス化
require "Smarty.class.php";
$smartyOb=new Smarty( );
4. 設定
テンプレート HTML が配置されているディレクトリを Smarty に伝えます
$smartyOb->setTemplateDir(path);
コンパイルされたファイルが配置されているディレクトリを Smarty に伝えます
$smartyOb->setCompileDir(path)
5. 表示template
$smartyOb->display("template name and path");
テンプレートに値を渡す方法
$smartyOb->assign('name on template', 渡された変数);
テンプレートの呼び出し方法
テンプレートtag
{$name}
配列
{$array name.subscript}
2 次元配列
array(
0=>array('title'=>'t1','pubtime'=>1234567890 ,'著者'=>'xiaoli'),
1=>array('title'=>t2','pubtime'=>1334567890,'author'=>'xiaoli'),
array(' title'=>'t3','pubtime'=>1434567890,'author'=>'xiaoli'),
array('title'=>'t4','pubtime'=>1534567890 ,' author'=>'xiaoli'),
)
配列を走査します
{foreach 配列名を変数名として}
{$変数名.title}
{/foreach}
添字値
<{$変数名 @key }> <{$変数名@index}>
ループ数
<{$変数名@合計}>
現在のループ回数
<{$変数名@反復}>
最初のループですか
<{$variable name@first}>
最後のループですか
<{$variable name@last}>
ケース:
インターレース背景色の変更を実装します
< if 条件}>
コード
<{/if}>
演習:
最後の行を除く各 li に下線 (破線) を付けます
内容を理解します:
<{セクション名=s1 ループ= 走査された配列}>
<{$Traversed array[s1].subscript}>
<{/section}>
属性:
<{$smarty.section.s1.total} >
<{$ Smarty.section.s1.index}>
<{$smarty.section.s1.iteration}>
<{$smarty.section.s1.last}>
< {$smarty.section.s1 .first}>
演習:
セクションを使用して代替行の異なる背景色を実現します
変数レギュレーター
テンプレート ラベル区切り文字の指定:
<{}>
$smartyOb- >left_delimiter="<{" ;
$smartyOb->right_delimiter="}>";
day02---------、day01 の内容を復習して新しい知識を広げましょう
Smarty
1. Smarty、 php メインプログラム
2. 設定
$smartyOb->setTemplateDir()
$smartyOb->setCompileDir()
$smartyOb->gt;left_delimiter()
$smartyOb->gt;right_delimiter( )
3. 値をtemplate
$smartyOb->assign("テンプレート変数名", variable);
4. テンプレートを表示
$smartyOb->display(path);
{$name}
{$array .subscript}
{foreach変数としての配列名}
{$変数名}
{/foreach}
ラベル属性:
{$変数名@キー}
{$変数名@インデックス}
{$変数名@反復 }
{$変数名@ total}
{$変数名@first}
{$変数名@last}
{if条件}
{else}
{/if}
変数調整器:
{最初のパラメータ |関数名: 2番目のパラメータ:... ...}
記事詳細ページ:
02_detail.php?id=5
1. Smartyの設定
2. 記事IDの受信
3. pdoのインスタンス化
4. SQL文の綴り
5. 実行
6. データの取得
7 . テンプレートに値を渡す
8. テンプレートを表示する
9. テンプレートタグを設定し、メインプログラムから渡されたデータを使用する
ページ分割
{include file="template Path"}
関数を登録する
function fun1(){
return 'abc';
}
$smartyOb->registerPlugin("関数","テンプレート関数名","登録された関数名");
in テンプレートで呼び出されます:
{テンプレート関数名 = 値名 = 値.. ..}
パラメータを渡すにはどうすればよいですか? ? ?
1. パラメーターの数は最大 2 つです。
最初のパラメーターは、テンプレートに渡されたすべてのパラメーターを受け取ります。
2 番目のパラメーターは、現在の Smarty オブジェクトを受け取ります。
キャッシュ
データベース内のデータがキャッシュされます。
利点: mysql サーバーの負荷を軽減します
1. キャッシュ ファイルの保存ディレクトリを指定します
$smartyOb->setCacheDir(ROOT."day02/cache");
2. キャッシュをオンにする
$smartyOb->caching =true;
3. キャッシュのライフサイクルを指定します。
$smartyOb->cache_lifetime=100;//秒
関数: キャッシュ ファイルが存在し、有効であるかどうかを判断します
$smartyOb->isCached("テンプレート名とパス",id)
$smartyOb->display( "テンプレート名とパス",id);
上記は、いくつかの点を含め、私にとって初めての --------smarty の紹介です。PHP チュートリアルに興味のある友人に役立つことを願っています。