ホームページ >バックエンド開発 >PHPチュートリアル >phplib templateの利用手順と動作原理を詳しく解説_PHPチュートリアル

phplib templateの利用手順と動作原理を詳しく解説_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:36:191196ブラウズ

index.html文の内容:





{SortList}


< /body>

index.php内容:

$t->set_file ("Index", "index.htm");
$t->set_block("Index", "RowSort", "RowsSort");
.... ………………
…… ......$list_sort....................
$t->set_var("SortList", $list_sort);
$t- >parse("RowsSort", "RowSort", true);
............................ ......
...................................... ......
$t->parse("OUT", "Index");
$t->p("OUT");
?>

详细分析手順:

一、$t->set_file ("インデックス", "index.htm"); $this->file[index] =index.htm


二、$t->set_block("インデックス", "RowSort", "RowsSort");

1、ダウンロードインデックス文件index.htm内容并赋给变量$this->varvals[index]
2、$str = $this->varvals[index]获取模板文件内容
3、用preg_match_all関数来適合モジュール ファイル内の対応するブロック (RowSort) エリアの内容、$m[1][0] 中
4、涯0まで募集中?卸売Φ腷lock(RowSort) エリアの内容(头と尾を含む) )代わりに {RowSort}
5、变量$this->varvals[RowSort] = $m[1][0] , $this->varkeys[RowSort] = /{RowSort}/
6、变量$this ->varvals[index] = $str(内容既発改变,见第4步) , $this->varkeys[index] = /{index}/


三、$t->set_var("SortList", $list_sort);

設置$this->varvals[SortList] = $list_sort
設置$this->varkeys[SortList] = /{SortList}/


四、$t->parse("RowsSort", "RowSort", true);(此操作根拠ソート大小重复进行)

1、subst 関数を利用して $this->varvals 数グループ内のすべての量の値を取得し、その中に含まれる可能性のある特殊文字と $ を処理します (和 $ を和 $ に置き換えると、次の段階の preg_replace が予想外に保証されます) ,并赋给$varvals_quoted数組
2、$str = $this->varvals[RowSort]
3、私は今この瞬間に見ることができます$str中には1つの{SortList}が含まれています、したがって三:$this->varkeys [SortList] = /{SortList}/,$this->varvals[SortList] = $list_sort
4、可见经过preg_replace我们得的$str是已经解析了PHP模板变量{SortList}その後の内容了,return$ str
5、给$this->varvals[RowSort] 実行延续赋值 //这里有个问题大家可能会考虑到就是显示的時候最始開始那个{RowSort}未解析,不用心,phplib有仕上げ関数数会你の要求に従って処理を実行します


五、$t->parse("OUT", "インデックス");

1、ご覧のとおり、今回は $this->varvals[index] 内に解析を実行する必要がある PHP モジュールの量、つまり {RowSort} があります
2、しかし、前の几步では、我们已经握 $this-> varvals[RowSort] の内容解析好
3、これ以来、我们全部 PHP モジュール变量均すでに解析後の内容赋给变量$this->varvals[OUT]

六、$t->p["OUT"];

显然phplib中p関数即出力関数,我们直接$this->varvals[OUT]出力即可
//ここで注意すべきは出力の前にphplib自動実行の動作があり、それは未解析ですPHPモジュールの量はユーザーの要求に従って処理されます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/508241.html技術記事 Index.htm文件の内容: html head body !-- BEGIN RowSort -- {SortList}br !-- END RowSort -- /body /head /htmlindex.php 内容: ? $t-set_file ("インデックス", "index.htm"); $t-set_block...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。