smarty模板技術,smarty模板_PHP教程

來源:互聯網
上載者:User

smarty模板技術,smarty模板


一、什麼是smarty?
smarty是一個使用php寫出來的模板php模板引擎,它提供了邏輯與外在內容的分離,簡單的講,目的就是要使用php程式員同美工分離,使用的程式員改變程式的邏輯內容不會影響到美工的頁面設計,美工重新修改頁面不會影響到程式的程式邏輯,這在多人合作的項目中顯的尤為重要。

二、smarty優點:
1. 速度:採用smarty編寫的程式可以獲得最大速度的提高,這一點是相對於其它的模板引擎技術而言的。

2. 編譯型:採用smarty編寫的程式在運行時要編譯成一個非模板技術的php檔案,這個檔案採用了php與html混合的方式,在下一次訪問模板時將web請求直接轉換到這個檔案中,而不再進行模板重新編譯(在來源程式沒有改動的情況下)

3. 緩衝技術:smarty選用的一種緩衝技術,它可以將使用者最終看到的html檔案快取成一個靜態html頁,當設定smarty的cache屬性為true時,在smarty設定的cachetime期內將使用者的web請求直接轉換到這個靜態html檔案中來,這相當於調用一個靜態html檔案。

4. 外掛程式技術:smarty可以自訂外掛程式。外掛程式實際就是一些自訂的函數。

5. 模板中可以使用if/elseif/else/endif。在模板檔案使用判斷語句可以非常方便的對模板進行格式重排。

三、不適合使用smarty的地方:

1. 需要即時更新的內容。例如像股票顯示,它需要經常對資料進行更新,這類型的程式使用smarty會使模板處理速度變慢。

2. 小項目。小項目因為項目簡單而美工與程式員兼於一人的項目,使用smarty會喪失php開發迅速的優點。

四、smarty安裝及配置:

下載smarty的安裝包解壓後,把libs檔案夾放在網站根目錄下,然後建立幾個檔案夾
templates 存放模板檔案

templates_c 存放編譯後的檔案

configs 存放設定檔

cache 存放快取檔案
再建立初始設定檔案smarty.init.php

php    include "./libs/Smarty.class.php";//包含Smarty類庫所在的檔案    $smarty=new Smarty();//建立一個Smarty類的對象$smarty    $smarty->template_dir="./templates/";//設定所有模板檔案存放目錄    $smarty->compile_dir="./templates_c/";//設定所有編譯過的模板檔案存放目錄    $smarty->config_dir="./configs/";//設定模板中特殊設定檔存放的目錄    $smarty->cache_dir="./cache/";//設定存放Smarty快取檔案的目錄    $smarty->caching=1;//設定開啟Smarty緩衝模板功能    $smarty->cache_lifetime=60*60*24;//設定模板緩衝有效時間為1天    $smarty->left_delimiter='<{';//設定範本語言中的左結束符    $smarty->right_delimiter='}>';//設定範本語言中的右結束符?>

五、smarty引擎運行機制:

1、建立模板檔案index.tpl及項目中所需的設定檔my.conf,設定檔也可後期補充

<{config_load file="../configs/my.conf"}><html>    <head>        <meta charset="utf-8">        <title><{$title}>title>    head>    <body bgcolor="<{#bgColor#}>">        <{$content}>    body>html>

2、建立程式入口檔案index.php,引入控制器檔案,傳值並分配變數,並顯示模板index.tpl

php    //引入smarty.init.php    include 'smarty.init.php';    $smarty->assign("title","我的第一個檔案標題");    $smarty->assign("content","我的第一個檔案內容");    $smarty->display("index.tpl");?>

3、運行index.php,通過smarty控制器檔案會產生一個php格式的編譯檔案,當緩衝機制未開啟時,瀏覽器會讀取這個編譯檔案並最終顯示出來。當開啟緩衝機制時,smarty控制器會產生一個靜態HTML頁面,即快取檔案com_index.tpl,這樣瀏覽器讀取效能更高。具體緩衝過程詳見smarty詳細使用教程第9點

http://www.bkjia.com/PHPjc/1096613.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1096613.htmlTechArticlesmarty模板技術,smarty模板 一、什麼是 smarty? smarty 是一個使用 php 寫出來的模板 php 模板引擎,它提供了邏輯與外在內容的分離,簡單的講,...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.