1. 程式人生 > >smarty模板基礎知識

smarty模板基礎知識

替換 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模板基礎知識