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コード:
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: