搜尋
首頁後端開發php教程PHP的Smarty較為完整的筆記

PHP的Smarty較為完整的筆記

Apr 19, 2018 pm 03:10 PM
phpsmarty筆記

這篇文章介紹的內容是關於PHP的Smarty較為完整的筆記,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

1 、設定目錄檔:



2、設定檔配​​置資訊:

這應該是在index.php中的內容:




[php] view plain copy



#
<?php  
    header("content-type:text/html;charset=utf8");  
    include_once("libs/Smarty.class.php"); //包含smarty类文件   
  
    $smarty = new Smarty(); //建立smarty实例对象$smarty   
    $smarty->compile_dir = &#39;./templates_c/&#39;; //设置模板目录 ——这里的文件很重要的,需要写的模板文件  
    $smarty->compile_dir = &#39;./templates_c/&#39;;; //设置编译目录 ——混编文件,自动生成  
    $smarty->cache_dir = &#39;./cache/&#39;; //缓存目录   
    $smarty->cache_lifetime = 0; //缓存时间   
    $smarty->caching = true; //缓存方式   
  
    $smarty->left_delimiter = "{";   
    $smarty->right_delimiter = "}";   
  
    $smarty->assign("name", "注释"); //进行模板变量替换   
    $smarty->display("index.html"); //编译并显示位于./templates下的index.htm模板   
?>


#一些套路的解釋,但是很有必要了解:

2.1:include_once語句:

它將安裝到網站的smarty檔案包含到目前檔案中,注意包含的路徑一定要寫正確。

2.2:$smarty = new Smarty():

這一句新建一個Smarty物件$smarty,簡單的一個物件的實例化。

2.3:$smarty->templates(""):

這一句指明$smarty物件使用tpl模板時的路徑,它是一個目錄,在沒有這句話時,Smarty預設的模板路徑為目前目錄的templates目錄,實際寫

程式時,我們要將這一句寫明,這也是一種好的程式風格。


#######

2.4:$smarty->templates_c(""):

這一句指明$smarty物件進行編譯時的目錄。在模板設計篇我們已經知道Smarty是一種編譯型模板語言,而這個目錄,就是它編譯模板的目錄,要注意,如果網站位於Linux伺服器上,請確保teamplates_c裡定義的這個目錄具有可寫可讀權限,預設情況下它的編#譯目錄是目前目錄下的templates_c,出於同樣的理由我們將其明確的寫出來。

2.5:$smarty->left_delimiter與$smarty->right_delimiter:

#指明在尋找模板變數時的左右分割符。預設為"{"與"}",但在實際中因為我們要在模板中使用<script>,Script中的函數</script>#定義難免會

##使用{},雖然它有自己的解決方法,但習慣上我們將它重新定義為"{#"與"#}"或""或其它標誌符,註意,如果在這裡定義了左右

分割符後,在範本檔案中對應的要使每一個變數使用與定義相同的符號,例如在這裡指定為" ",htm模板中也要對應的將{$name}變

#成,這樣程式才可以正確的找到模板變數。

2.6:$smarty->cache("./cache"):

告訴Smarty輸出的範本檔案快取的位置。上一篇我們知道Smarty最大的優點在於它可以緩存,這裡就是設定緩存的目錄。 預設情況下#

為目前目錄下的cache目錄,與templates_c目錄相當,在linux系統中我們要確保它的可讀可寫性。

2.7:$smarty->cache_lifetime = 60 * 60 * 24:

這裡將以秒為單位進行計算快取有效的時間。第一次快取時間到期時當Smarty的caching變數設為true時快取將會重建。 當它的取值

為-1時表示建立起的快取從不過期,為0時表示在程式每次執行時快取總是被重新建立。上面的設定表示將cache_lifetime設定為一天。

2.8:$smarty->caching = 1:

##這個屬性告訴Smarty是否要進行快取以及快取的方式。它可以取3個值,0:Smarty預設值,表示不對模板進行快取;1:表示Smarty將

使用目前定義的cache_lifetime來決定是否結束cache;2:表示Smarty將使用在cache被建立時使用cache_lifetime這個值。習慣上使用true與

false來表示是否進行快取。

2.9:$smarty->assign("name", "zaocha"):

該數的原型為assign(string varname, mixed var),varname為模板中使用的模板變量,var指出要將模板變數替換的變數##;其第二種原形為

assign(mixed var),我們要在後面的例子詳細的講解這個成員函數的使用方法,assign是Smarty的核心函數之一,所有對模板變數的替#

換都要讓用它。

2.10:$smarty->display("index.tpl"):

#此函數原形為display(string varname),作用為顯示一個範本。簡單的講,它將分析處理過的範本顯示出來,這裡的範本文件不用加路

步道,只要使用一個檔名就可以了,它路徑我們已經在$smarty->templates(string path)中定義過了。

程式執行完後我們可以開啟目前目錄下的templates_c與cache目錄,就會發現在下邊多出一些%%的目錄,這些目錄就是Smarty的編譯

與快取目錄,它由程式自動生成,不要直接對這些生成的檔案進行修改。


3、Smarty的註解:

枯燥的文字部分可以忽略:模板註解被*星號包圍,而兩邊的星號又被定界符包圍,例如{* this is a comment *} 。 smarty註解不會在範本檔案的最後輸出中出現,這與不同(譯:html註解在頁面原始碼中可見,而smarty註解則不能)。這點非常有用,試想,註解只存在於模板裡面,而在輸出的頁面中誰也看不見:)。

直覺感受一下:




##4、常數:

#枯燥的文字部分可以忽略:###設定檔變數是一個不用美元符號$,而是用#號包圍著變數(#hashmarks#),或是一個$smarty.config形式的變數。 ###

直覺的感受一下:



5、變數:

枯燥的文字部分可以忽略:模板變數以美元符號$開始,可以包含數字、字母和底線,這與php變數很像。你可以引用數組的數字或非數字索引,當然也可以引用物件屬性和方法。


#翻譯:依照說明像$abc、$abc123、$abc_123、$abc[ 1]、$abc['a']、$abc->a、$abc->a()這些模板變數都是有效的。


直覺感受一下:


變數輸出前一定要有$符號! ! ! ! ! ! ! ! ! ! !


6、函數



7、賦值陣列





##8、變數調節器(豎槓前面為第一個變量,:後為第二三..... ...變數)




#9、條件判斷






##############10、secetion迴圈############################# ########################################################### ##11、foreach##########




12、檔案的引入把一個類別的物件以變數的形式


#13、使用assign賦值到smarty模板中使用:


#14、使用PHP中的函數,參考第八條的變數調節器



15.自訂函數的使用



#16、functions函數外掛程式的定義與使用


17、modifier變數調節器的定義和使用


#18、block區塊函數外掛程式的定義和使用


##########

19、for迴圈與while迴圈實例



20、img和option標籤的使用

#21、{block}的使用

相關推薦:

smarty模板引擎之設定檔資料以及保留資料

Smarty中的註解與截斷功能詳解

PHP中Smarty內建函數include詳解


以上是PHP的Smarty較為完整的筆記的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
PHP電子郵件:分步發送指南PHP電子郵件:分步發送指南May 09, 2025 am 12:14 AM

phpisusedforsendendemailsduetoitsignegrationwithservermailservicesand andexternalsmtpproviders,自動化intifications andMarketingCampaigns.1)設置設置yourphpenvenvironnvironnvironmentwithaweberswithawebserverserververandphp,確保themailfunctionisenabled.2)useabasicscruct

如何通過PHP發送電子郵件:示例和代碼如何通過PHP發送電子郵件:示例和代碼May 09, 2025 am 12:13 AM

發送電子郵件的最佳方法是使用PHPMailer庫。 1)使用mail()函數簡單但不可靠,可能導致郵件進入垃圾郵件或無法送達。 2)PHPMailer提供更好的控制和可靠性,支持HTML郵件、附件和SMTP認證。 3)確保正確配置SMTP設置並使用加密(如STARTTLS或SSL/TLS)以增強安全性。 4)對於大量郵件,考慮使用郵件隊列系統來優化性能。

高級PHP電子郵件:自定義標題和功能高級PHP電子郵件:自定義標題和功能May 09, 2025 am 12:13 AM

CustomHeadersheadersandAdvancedFeaturesInphpeMailenHanceFunctionalityAndreliability.1)CustomHeadersheadersheadersaddmetadatatatatataatafortrackingandCategorization.2)htmlemailsallowformattingandttinganditive.3)attachmentscanmentscanmentscanbesmentscanbestmentscanbesentscanbesentingslibrarieslibrarieslibrariesliblarikelikephpmailer.4)smtppapapairatienticationaltication enterticationallimpr

使用PHP和SMTP發送電子郵件的指南使用PHP和SMTP發送電子郵件的指南May 09, 2025 am 12:06 AM

使用PHP和SMTP發送郵件可以通過PHPMailer庫實現。 1)安裝並配置PHPMailer,2)設置SMTP服務器細節,3)定義郵件內容,4)發送郵件並處理錯誤。使用此方法可以確保郵件的可靠性和安全性。

使用PHP發送電子郵件的最佳方法是什麼?使用PHP發送電子郵件的最佳方法是什麼?May 08, 2025 am 12:21 AM

ThebestapproachforsendingemailsinPHPisusingthePHPMailerlibraryduetoitsreliability,featurerichness,andeaseofuse.PHPMailersupportsSMTP,providesdetailederrorhandling,allowssendingHTMLandplaintextemails,supportsattachments,andenhancessecurity.Foroptimalu

PHP中依賴注入的最佳實踐PHP中依賴注入的最佳實踐May 08, 2025 am 12:21 AM

使用依賴注入(DI)的原因是它促進了代碼的松耦合、可測試性和可維護性。 1)使用構造函數注入依賴,2)避免使用服務定位器,3)利用依賴注入容器管理依賴,4)通過注入依賴提高測試性,5)避免過度注入依賴,6)考慮DI對性能的影響。

PHP性能調整技巧和技巧PHP性能調整技巧和技巧May 08, 2025 am 12:20 AM

phpperformancetuningiscialbecapeitenhancesspeedandeffice,whatevitalforwebapplications.1)cachingwithapcureduccureducesdatabaseloadprovesrovessetimes.2)優化

PHP電子郵件安全性:發送電子郵件的最佳實踐PHP電子郵件安全性:發送電子郵件的最佳實踐May 08, 2025 am 12:16 AM

ThebestpracticesforsendingemailssecurelyinPHPinclude:1)UsingsecureconfigurationswithSMTPandSTARTTLSencryption,2)Validatingandsanitizinginputstopreventinjectionattacks,3)EncryptingsensitivedatawithinemailsusingOpenSSL,4)Properlyhandlingemailheaderstoa

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

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

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

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

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。