smarty模板基礎知識
阿新 • • 發佈:2017-07-05
替換 xiang tran ray 重要 頁面 1.0 src 緩存
1、定義
Smarty是一個使用php寫出來的模板引擎,它分離了邏輯代碼和外在的內容,提供了一種易於管理和使用的方法,用來將原本與html代碼混雜在一起PHP代碼邏輯分離。
簡單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內容不會影響到前端人員的頁面設計,前端人員重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。
2、
<?php class Smarty { public $left="{"; //左分割符 public $right="}"; //所有後臺數據要存在這個數組裏; public $arr =array(); //註冊變量(將這個變量寫到數組裏存一下),將得到的數據傳到上面的數組中 public function assign($name,$value){ $arr[$name] = $value; } //顯示模板(核心)(看下圖) public function display($url){ //找到模板文件 $str = file_get_contents($url); //根據正則匹配帶有標記({})的內容,做替換 //將編譯好的文件緩存下來 file_get_contents("",$str); //將文件拿到當前頁面顯示 include(); } } ?>
3、例子:
(1)在12.php頁面:(字符串類型;數組;對象)
<?php //引入smarty類 require "../init.inc.php"; //數組類型 $arr =array("one"=>"1111","two"=>"2222"); //對象 class Ren{ public $name="張三"; } $r= new Ren(); //註冊變量 $smarty->assign("ceshi","hello"); //字符串 $smarty->assign("shuzu",$arr); //數組 $smarty->assign("duixiang",$r); //對象 //顯示 $smarty->display("test.html"); ?>
(2)test.html頁面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> </head> <body> <{$ceshi}> <{$shuzu["one"]}> <{$duixiang->name}> </body> </html>
運行結果如下:
smarty模板基礎知識