搜尋
首頁後端開發php教程smarty 原來也不過如此~~呵呵_PHP教程

include_once("./comm/Smarty.class.php"); //包含smarty類別檔案 
$smarty = new Smarty(); //建立smarty實例物件$smarty 
$smarty-templates(marty) ./templates"); //設定範本目錄 
$smarty->templates_c("./templates_c"); //設定編譯目錄 
//****大家注意,這裡我是我新加入的****// 
$marty ->cache("./cache"); //設定快取目錄 
$smarty->cache_lifetime = 60 * 60 * 24; //設定 =/🎜>$smarty->ctrueing;快取方式 
//------------------------------------------- --------- 
//左右邊界符,預設為{},但實際應用當中容易與JavaScript 
//相衝突,所以建議設為或其它。
//--------------------------------------------- ------- 
$smarty->left_delimiter = "$smarty->right_delimiter = "}>"; 
$smarty->assign("name", "}>"; 
$smarty->assign("name", "}>"李曉軍
$smarty->assign("name", "}>"李曉軍
$smarty->assign("name", "}>"李雪城"); //進行模板變數取代 
//編譯並顯示位於./templates下的index.tpl模板 
$smarty->display("index.tpl"); 
?>
?>
我們可以看到,smarty的程式部分實際上就是符合php語言規範的一組程式碼,我們依序來解釋一下:
1。 /**/語句:
包含的部分為程式篇頭註解。主要的內容應該為對程序的作用,版權與作者及寫時間做一個簡單的介紹,這在smarty中不是必 
需的,但從程序的風格來講,這是一個好的風格。 
2。 include_once語句:
它將安裝到網站的smarty檔案包含到目前檔案中,注意包含的路徑一定要寫正確。 
3。 $smarty = new Smarty():
這一句新建一個Smarty物件$smarty,簡單的一個物件的實例化。 
4。 $smarty->templates(""):
這句話指明$smarty物件使用tpl模板時的路徑,它是一個目錄,當沒有這句話時,Smarty預設的模板路徑為目前目錄的templates 
目錄,實際在寫程式時,我們要將這一句寫明,這也是一種好的程式風格。
5。 $smarty->templates_c(""):
這一句指明$smarty物件進行編譯時的目錄。在模板設計篇我們已經知道Smarty是一種編譯型模板語言,而這個目錄,就是它編譯 
模板的目錄,這裡要注意,如果站點位於*nix伺服器上,請確保teamplates_c裡定義的這個目錄具有可寫入可讀權限,預設情況下它的編譯目錄 
是目前目錄下的templates_c,出於同樣的理由我們將其明確的寫出來。 
6。 $smarty->left_delimiter與$smarty->right_delimiter:
指明在尋找模板變數時的左右分割符。預設為"{"與"}",但在實際中因為我們要在模板中使用<script>,Script中的函數定  <BR>義難免會使用{},雖然它有自己的解決方法,但習慣上我們將它重新定義為"<{"與"}>"或是"<!--{"與"}-->"或其它標誌符,注意,如果在這裡  <BR>定義了左右分割符後,在模板檔案中對應的要使每個變數使用與定義相同的符號,例如在這裡指定為"<{"與"}>",tpl模板中也要對應的將  <BR>{$ name}變成<{$name}>,這樣程式才可以正確的找到模板變數。  <BR>7。 $smarty->cache("./cache"): <BR>告訴Smarty輸出的範本檔案快取的位置。上一篇我們知道Smarty最大的優點在於它可以緩存,這裡就是設定緩存的目錄。預設情  <BR>情況下為目前目錄下的cache目錄,與templates_c目錄相當,在*nix系統中我們要確保它的可讀可寫性。  <BR>8. $smarty->cache_lifetime = 60 * 60 * 24:  <BR>這裡將以秒為單位進行計算快取有效的時間。第一次快取時間到期時當Smarty的caching變數設為true時快取將會重建。當它的  <BR>取值為-1時表示建立起的快取從不過期,為0時表示在程式每次執行時快取總是被重新建立。上面的設定表示將cache_lifetime設定為一天。  <BR>9. $smarty->caching = 1: <🎜>這個屬性告訴Smarty是否要進行快取以及快取的方式。它可以取3個值,0:Smarty預設值,表示不對模板進行快取;1:表示  <🎜>Smarty將使用目前定義的cache_lifetime來決定是否結束cache;2:表示Smarty將使用在cache被建立時使用cache_lifetime這個值。習慣上使  <🎜>用true與false來表示是否進行快取。<BR>10. $smarty->assign("name", "李曉軍"): <BR>此數的原型為assign(string varname, mixed var),varname為範本中所使用的範本變數,var指出要將模板變數取代的變數名稱;其  <BR>第二種原形為assign(mixed var),我們要在後面的例子詳細的講解這個成員函數的使用方法,assign是Smarty的核心函數之一,所有對模板變  <BR>量的替換都要使用它。  <BR>11. $smarty->display("index.tpl"): <BR>此函數原形為display(string varname),作用顯示一個範本。簡單的講,它將分析處理過的模板顯示出來,這裡的模板文件不  <BR>用加路徑,只要使用一個文件名就可以了,它路徑我們已經在$smarty->templates(string path)中定義過了。 <BR>程式執行完後我們可以開啟目前目錄下的templates_c與cache目錄,就會發現下邊多出一些%%的目錄,這些目錄就是Smarty的編譯與  <BR>快取目錄,它由程式自動生成,不要直接對這些產生的文件進行修改。 <BR>以上我簡單的把Smarty程式中的一些常用的基本元素介紹了一下,在後邊的例子中你可以看到將它們將被多次的使用。 <BR>接下來介紹一個section循環塊與foreach循環塊,本來它應該屬於模板部分,但是由於它們是smarty的精華所在,而且與smarty程序設計  <BR>部分聯繫非常緊密,所以就在本節單獨拿出來講一下。 <BR>1. foreach:用於循環簡單數組,它是一個選擇性的section循環,它的定義格式為:  <BR>{foreach from=$array item=array_id} <BR>{foreachelse} <BR> {/foreach} <BR>其中,from 指出要循環的數組變量,item為要循環的變數名稱,循環次數由from所指定的數組變數的個數決定。 {foreachelse}用來當  <BR>程式中傳遞過來的陣列為空時的處理,下面是一個簡單的例子: <BR>=================== ======================== <BR>example6.tpl <BR>=================== ========================== <BR><html> <BR><head><title>這是一個foreach使用的範例</ title> <BR><body> <BR>這裡將輸出一個陣列:<br> <BR>{foreach from=$newsArray item=newsID} <BR>新聞編號:{$newsID}<br> <BR>新聞內容:{$newsTitle}<br><hr> <BR>{foreachelse} <BR>對不起,資料庫中沒有新聞輸出! <BR>{/foreach} <BR></script>

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何使PHP應用程序更快如何使PHP應用程序更快May 12, 2025 am 12:12 AM

tomakephpapplicationsfaster,關注台詞:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

PHP性能優化清單:立即提高速度PHP性能優化清單:立即提高速度May 12, 2025 am 12:07 AM

到ImprovephPapplicationspeed,關注台詞:1)啟用opcodeCachingwithapCutoredUcescriptexecutiontime.2)實現databasequerycachingingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandreduceconnection.4 limitesclection.4.4

PHP依賴注入:提高代碼可檢驗性PHP依賴注入:提高代碼可檢驗性May 12, 2025 am 12:03 AM

依赖注入(DI)通过显式传递依赖关系,显著提升了PHP代码的可测试性。1)DI解耦类与具体实现,使测试和维护更灵活。2)三种类型中,构造函数注入明确表达依赖,保持状态一致。3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

PHP性能優化:數據庫查詢優化PHP性能優化:數據庫查詢優化May 12, 2025 am 12:02 AM

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

簡單指南:帶有PHP腳本的電子郵件發送簡單指南:帶有PHP腳本的電子郵件發送May 12, 2025 am 12:02 AM

phpisusedforsenderemailsduetoitsbuilt-inmail()函數andsupportivelibrariesLikePhpMailerAndSwiftMailer.1)usethemail()functionForbasiceMails,butithasimails.2)butithasimail.2)

PHP性能:識別和修復瓶頸PHP性能:識別和修復瓶頸May 11, 2025 am 12:13 AM

PHP性能瓶颈可以通过以下步骤解决:1)使用Xdebug或Blackfire进行性能分析,找出问题所在;2)优化数据库查询并使用缓存,如APCu;3)使用array_filter等高效函数优化数组操作;4)配置OPcache进行字节码缓存;5)优化前端,如减少HTTP请求和优化图片;6)持续监控和优化性能。通过这些方法,可以显著提升PHP应用的性能。

PHP的依賴注入:快速摘要PHP的依賴注入:快速摘要May 11, 2025 am 12:09 AM

依賴性注射(DI)InphpisadesignPatternthatManages和ReducesClassDeptions,增強量強制性,可驗證性和MATIALWINABIOS.ItallowSpasspassingDepentenciesLikEdenciesLikedAbaseConnectionStoclasseconnectionStoclasseSasasasasareTers,interitationAseTestingEaseTestingEaseTestingEaseTestingEasingAndScalability。

提高PHP性能:緩存策略和技術提高PHP性能:緩存策略和技術May 11, 2025 am 12:08 AM

cachingimprovesphpermenceByStorcyResultSofComputationsorqucrouctationsorquctationsorquickretrieval,reducingServerLoadAndenHancingResponsetimes.feftectivestrategiesinclude:1)opcodecaching,whereStoresCompiledSinmememorytssinmemorytoskipcompliation; 2)datacaching datacachingsingMemccachingmcachingmcachings

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中