偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

PHP模板之Smarty教程

開(kāi)發(fā) 后端
本文介紹的是PHP模板中的Smarty,主要講的是Smarty的安裝和使用。希望對(duì)你有幫助,一起來(lái)看。

我們知道PHP語(yǔ)言作為開(kāi)源社區(qū)的一員,提供了各種模板引擎,如FastTemplate,Smarty,SimpleTemplate等,而Smarty是現(xiàn)在使用得比較多的PHP模板引擎,今天和大家分享在PHP開(kāi)發(fā)中如何安裝與使用Smarty,也算是對(duì)Smarty的入門(mén)學(xué)習(xí)。

一、準(zhǔn)備工作

1、選擇安裝Smarty的目錄

如果擁有服務(wù)器權(quán)限,考慮到安全性可以選擇將Smarty安裝在WEB程序文檔目錄之外的地方,然后通過(guò)將Smarty安裝目錄地址包含在PHP.INI文件中的include_path選項(xiàng)。

如果是虛擬主機(jī)權(quán)限,或者好幾個(gè)項(xiàng)目,可以將Smarty安裝在各自的項(xiàng)目目錄中,在require Smarty類(lèi)文件,也可以使用Smarty模板引擎。當(dāng)然為了安全考慮,你可以通過(guò)apache禁止相關(guān)目錄訪問(wèn)。

另外這兩種Smarty安裝方式在移植性方面有所區(qū)別,第一種方式需要保證每臺(tái)服務(wù)器有相同的Smarty配置,第二種方式對(duì)每臺(tái)服務(wù)器配置沒(méi)有影響。你可以根據(jù)各自的需要選擇Smarty的安裝方式。

2、下載Smarty,請(qǐng)點(diǎn)擊這里下載Smarty,我選擇的是Smarty-2.6.25

Smarty安裝步驟

1、解壓下載的Smarty-2.6.25壓縮包

2、拷貝libs文件夾到WEB程序目錄下,我的目錄為test\smarty

Linux下的安裝方法可以參考這里。

在安裝完Smarty模板后,我們開(kāi)始簡(jiǎn)單使用Smarty。

三、Smarty使用

1、創(chuàng)建相關(guān)目錄

由于在使用Smarty的過(guò)程中,Smarty會(huì)生成編譯的模板文件以及其他配置文件、緩存文件,我們需要?jiǎng)?chuàng)建相關(guān)的目錄。我在test\smarty目錄下,另外創(chuàng)建了tpls目錄,并在tpls目錄下創(chuàng)建templates、templates_c、configs、cache目錄。為什么需要?jiǎng)?chuàng)建這些目錄呢?打開(kāi)Smarty.class.php文件,我們可以看到Smarty類(lèi)定義了部分的成員屬性。

$template_dir:設(shè)定所有模板文件都需要放置的目錄地址。默認(rèn)情況下,目錄是:“./templates”,也就是在PHP執(zhí)行程序同一個(gè)目錄下尋找該模板目錄。

$compile_dir:設(shè)定Smarty編譯過(guò)的所有模板文件的存放目錄地址。默認(rèn)目錄是:“./templates_c”,也就是在PHP執(zhí)行程序同一個(gè)目錄下尋找該編譯目錄。如果你在Linux服務(wù)器上創(chuàng)建這個(gè)目錄,你還需要修改此目錄的權(quán)限,使它有寫(xiě)的權(quán)限。

$config_dir:設(shè)定用于存放模板特殊配置文件的目錄,默認(rèn)目錄是:“./configs”,也就是在PHP執(zhí)行程序同一個(gè)目錄下尋找該配置目錄。

$cache_dir:在啟動(dòng)緩存特性的情況下,這個(gè)屬性所指定的目錄中放置Smarty緩存的所有模板。默認(rèn)目錄是:”./cache”,也就是在PHP執(zhí)行程序同一個(gè)目錄下尋找該緩存目錄。你也可以用你自定義的緩存處理函數(shù)來(lái)控制緩存文件,它將會(huì)忽略這項(xiàng)設(shè)置。同樣如果你在Linux服務(wù)器上創(chuàng)建這個(gè)目錄,你還需要修改此目錄的權(quán)限,使它有寫(xiě)的權(quán)限。

為了系統(tǒng)安全和移植性考慮,建議不要將這些目錄建立在PHP執(zhí)行程序同一目錄下,可以將它建立在PHP執(zhí)行程序目錄之外,如果已建立在PHP執(zhí)行程序同一目錄下,可以通過(guò)Apache做好目錄限制訪問(wèn)工作。

2、建立相關(guān)配置文件

我們需要?jiǎng)?chuàng)建一個(gè)配置文件,來(lái)覆蓋Smarty類(lèi)的默認(rèn)成員屬性,并命名為main.php,保存在smarty目錄下,以后哪個(gè)腳本需要使用Smarty,我們只要把main.php包含進(jìn)來(lái)即可。

  1. <?  
  2. include("./smarty/libs/Smarty.class.php");  
  3. define('SMARTY_ROOT''./smarty/tpls');  
  4. $tpl = new Smarty();  
  5. $tpl->template_dir = SMARTY_ROOT."/templates/";  
  6. $tpl->compile_dir = SMARTY_ROOT."/templates_c/";  
  7. $tpl->config_dir = SMARTY_ROOT."/configs/";  
  8. $tpl->cache_dir = SMARTY_ROOT."/cache/";  
  9. $tpl->caching=1;  
  10. $tpl->cache_lifetime=60*60*24;  
  11. $tpl->left_delimiter = '<{';  
  12. $tpl->right_delimiter = '}>';  
  13. ?> 

注釋?zhuān)?/p>

第1-8行:主要定義一個(gè)smarty對(duì)象,同時(shí)設(shè)定模板文件、編譯文件、緩存文件、配置文件的存放目錄,覆蓋Smarty.class.php中的默認(rèn)值。

第9-10行:設(shè)定開(kāi)啟緩存,同時(shí)設(shè)定緩存的有效時(shí)間為1天。

知識(shí)點(diǎn):$caching用來(lái)設(shè)置是否開(kāi)啟緩存功能。默認(rèn)值設(shè)為0或無(wú)效。你也可以為同一個(gè)模板設(shè)有多個(gè)緩存,當(dāng)值為1或2時(shí)啟動(dòng)緩存。1告訴Smarty使用當(dāng)前的$cache_lifetime變量判斷緩存是否過(guò)期。2告訴Smarty使用生成緩存時(shí)的cache_lifetime值。建議在項(xiàng)目開(kāi)發(fā)過(guò)程中關(guān)閉緩存,將值設(shè)置為0

第11-12行:設(shè)置smarty語(yǔ)言的左右結(jié)束符,我們知道大括號(hào)是smarty的默認(rèn)定界符,但在和javascript、css等結(jié)合時(shí)可能會(huì)產(chǎn)生沖突,所以這里我們?cè)O(shè)定為<{和}>。

3、建立一個(gè)模板文件

一般情況下在美工頁(yè)面設(shè)計(jì)完畢后,雙方的交集點(diǎn)是模版文件,雙方約定后,程序員不需要花太大的精力在前臺(tái),這就是使用Smarty模板引擎進(jìn)行開(kāi)發(fā)的好處。

我們首先建立一個(gè)簡(jiǎn)單的模版文件,名為leapsoul.tpl,你可在html文件中加入smarty變量后將文件另存為tpl類(lèi)型的文件。

  1. <html> 
  2. <head> 
  3. <meta http-equiv="Content-type" content="text/html; charset=gb2312"> 
  4. <title>   
  5. <{ $title }> 
  6. </title>   
  7. </head>   
  8. <body>   
  9. <{ $content }>   
  10. </body>   
  11. </html> 

注釋?zhuān)涸谶@個(gè)tpl文件中設(shè)定了title和content兩個(gè)smarty變量,文件保存為leapsoul.tpl,同時(shí)將其保存在test\smarty\tpls\templates模板文件目錄下。

4、建立應(yīng)用程序文件

模版文件類(lèi)似于一個(gè)表現(xiàn)層,在建立完模板文件后,我們需要一個(gè)應(yīng)用程序去驅(qū)動(dòng)表現(xiàn)層,應(yīng)用程序文件定義為smarty.php。

  1. <?  
  2. include("smarty/main.php");  
  3. $tpl->assign("title""leapsoul.cn為你展示smarty模板技術(shù)");  
  4. $tpl->assign("content""leapsoul.cn通過(guò)詳細(xì)的安裝使用步驟為你展示smarty模板技術(shù)");  
  5. $tpl->display("leapsoul.tpl");  
  6. ?> 

注釋?zhuān)?/p>

在這段代碼中我們主要用到smarty中的兩個(gè)函數(shù)assign和display,assign你可以理解為為變量賦值,display主要是用來(lái)將網(wǎng)頁(yè)輸出。更多smarty函數(shù)今后會(huì)詳細(xì)介紹。

其他說(shuō)明

由于我們開(kāi)啟了緩存功能,有興趣的朋友可以打開(kāi)cache和templates_c,cache目錄存放了這個(gè)模板的緩存文件,文件開(kāi)頭部分有緩存信息,如文件的生成時(shí)間和過(guò)期時(shí)間等,其他的和一般的HTML文件沒(méi)有多大的區(qū)別,而templates_c存放了模板經(jīng)過(guò)編譯后的PHP執(zhí)行文件。

至此一個(gè)簡(jiǎn)單入門(mén)的Smarty模板應(yīng)用實(shí)例就算介紹完成了。

原文地址:http://www.leapsoul.cn/?p=405

【編輯推薦】

  1. PHP新手 學(xué)習(xí)變量和常量
  2. 分享PHP網(wǎng)站建設(shè)的流程與步驟
  3. PHP中IIS7實(shí)現(xiàn)基本身份驗(yàn)證的方法
  4. PHP新手 詳細(xì)介紹PHP代碼規(guī)范
  5. 介紹生成PHP網(wǎng)站頁(yè)面靜態(tài)化的方法
責(zé)任編輯:于鐵 來(lái)源: David’s blog
相關(guān)推薦

2011-07-07 16:15:20

Smarty

2009-11-30 13:15:27

PHP模板Smarty

2011-07-07 16:24:09

Smarty

2009-03-04 10:53:39

gettextsmartyphp

2011-07-04 14:33:07

PHP

2011-07-04 14:57:56

PHP

2011-07-28 14:55:21

Xcode 模板

2011-07-07 14:14:41

PHP模版

2019-05-27 17:01:02

PHPPDO編程語(yǔ)言

2009-11-18 18:24:26

PHP模板

2009-12-01 19:28:16

PHP模板

2009-12-09 11:04:01

PHP模板優(yōu)點(diǎn)

2009-12-07 16:25:13

PHP解釋性模板Php

2011-07-15 14:01:50

PHP模板引擎

2011-12-02 08:51:19

PHP

2011-07-05 17:52:41

PHP

2015-10-12 09:13:02

PHPFastCGI mod_php

2011-07-14 15:05:54

PHP

2011-07-12 17:06:43

PHP

2009-12-07 16:16:19

PHP標(biāo)簽?zāi)0?/a>
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)