smarty基礎ガイドライン
5636 ワード
smartyはPHPのテンプレートエンジンであり、内部プログラムロジックと外部表現ロジックを分離し、MVCでview層の関連機能を実現する.
最新版のsmartyは公式サイトでダウンロードすることができて、公式サイトの住所:http://www.smarty.net/
ダウンロードが完了したら解凍し、中のlibsフォルダをsmartyと改名し、ローカルのwebディレクトリにコピーします.
Webディレクトリについては、本機にWebサーバがなければ、xamppソフトウェアをダウンロードすることができ、公式サイトで見つけることができ、インストール後、htdocsフォルダの下にWebルートディレクトリがあります.
以下、smartyを使用することができます.私の例を添付して、smartyの使い方をカバーします.
注意:smartyのコメント形式は {*コメント*}
htdocsディレクトリの下にtest-smartyディレクトリを新規作成し、test.phpファイルを配置し、test-smartyにtemplateディレクトリ(テンプレートの保存)、template_を再構築します.cディレクトリ(テンプレートコンパイルphpを格納)とcacheディレクトリ(キャッシュを格納)
test.phpコード:
最後のdisplayメソッドは、htdocs/test-smarty/templateに配置された特定のテンプレートを示します.
test.htmlコード:
コードの最後にsmartyプラグインを説明します.
smartyプラグインは、本質的に関数です.一般的なタイプ:function関数プラグインmodifier修飾プラグイン(変数レギュレータプラグイン) blockブロックプラグインの使用方法:書いたプラグインをsmartyディレクトリの下のpluginsに置く.上に追加した3つのプラグインファイルは以下のとおりです.
function.test.php:
最新版のsmartyは公式サイトでダウンロードすることができて、公式サイトの住所:http://www.smarty.net/
ダウンロードが完了したら解凍し、中のlibsフォルダをsmartyと改名し、ローカルのwebディレクトリにコピーします.
Webディレクトリについては、本機にWebサーバがなければ、xamppソフトウェアをダウンロードすることができ、公式サイトで見つけることができ、インストール後、htdocsフォルダの下にWebルートディレクトリがあります.
以下、smartyを使用することができます.私の例を添付して、smartyの使い方をカバーします.
注意:smartyのコメント形式は {*コメント*}
htdocsディレクトリの下にtest-smartyディレクトリを新規作成し、test.phpファイルを配置し、test-smartyにtemplateディレクトリ(テンプレートの保存)、template_を再構築します.cディレクトリ(テンプレートコンパイルphpを格納)とcacheディレクトリ(キャッシュを格納)
test.phpコード:
left_delimiter="{"; // ,smarty
$smarty->right_delimiter="}"; //
$smarty->template_dir="template"; //HTML
$smarty->compile_dir="template_c"; // php
$smarty->cache_dir="cache"; //
//
$smarty->caching=true; //
$smarty->cache_lifetime=120; //
// assign() display()
$smarty->assign('title','news HI'); // smarty
$arr=array('title'=>'smarty-study','author'=>'xiao ming'); //
$smarty->assign('arr',$arr);
$arr2=array(
array('title1'=>'world1','title2'=>'world2'),
array('title1'=>'world3','title2'=>'world4')
); // ,
$smarty->assign('arr2',$arr2);
$smarty->assign('time',time()); // , time
$smarty->assign('blank',""); //
$smarty->assign('url',"http://www.baidu.cn"); //
$smarty->assign('long',"happy new year!
happy new year!"); //
$smarty->assign('score',91); //
class myObject{
function meth1($params){
return $params[0].' '.$params[1];
}
} //
$myobj=new myObject(); //
$smarty->assign('myobj',$myobj);
function test($params){
// print_r($params); //
// exit; // ,
$p1=$params['p1'];
$p2=$params['p2'];
return ' 1 '.$p1.', 2 '.$p2;
} //
$smarty->registerPlugin('function','f_test','test'); // test , f_test
$smarty->assign('str','hello,how are you。hello,how are you。 hello,how are you。'); // block
$smarty->display('test.html'); // , , html
?>
「2つの方法」は、以前は構成部分であり、後に具体的な使用部分である.最後のdisplayメソッドは、htdocs/test-smarty/templateに配置された特定のテンプレートを示します.
test.htmlコード:
smarty
{$title}
{$arr.title}{$arr.author}
{$title|capitalize}
{$title|cat:' today':' happy'}
{$time|date_format}
{$blank|default:'here'}
{$url|escape:'url'}
{$title|lower}
{$title|upper}
{$long|nl2br}
{if $score gt 90}
{elseif $score gt 60}
{else}
{/if}
{section name=i loop=$arr2}
{$arr2[i].title1}
{$arr2[i].title2}
{/section}
{foreach $arr2 as $one}
{$one.title1}
{$one.title2}
{foreachelse}
no content
{/foreach}
{include file="header.tpl" myname="kate"}
{$myobj->meth1(array(' ',' '))}
{'Y-m-d'|date:$time}
{'H'|str_replace:'D':$title}
{f_test p1="abc" p2="def"}
{test width=150 height=200}
{$time|test:"Y-m-d H:i:s"}
{test2 replace='true' maxnum=20}
{$str}
{/test2}
では、ブラウザに「http://localhost/test-smarty/test.php」の章を参照してください.コードの最後にsmartyプラグインを説明します.
smartyプラグインは、本質的に関数です.一般的なタイプ:function関数プラグインmodifier修飾プラグイン(変数レギュレータプラグイン) blockブロックプラグインの使用方法:書いたプラグインをsmartyディレクトリの下のpluginsに置く.上に追加した3つのプラグインファイルは以下のとおりです.
function.test.php:
modifier.test.php:
block.test2.php: