smarty,它是最流行的 php 模板引擎之一。smarty 「**」 有它自己的語法和運算子擴充套件列表,但是系統並不難學。閱讀或瀏覽 smarty 文件,以便熟悉它的所有功能。從 smarty 的小修改開始,根據需求擴充套件您的技能,然後越來越精通。
smarty 有兩個方面:php 應用程式程式設計介面 (api) 和顯示引擎。應用程式**將呼叫 api 把**變數與模板佔位符關聯起來,而顯示引擎將解釋 smarty 標記、執行迴圈、引用佔位符和顯示最終結果。smarty 功能包括:
用於顯示 php 的所有基本資料結構的運算子
顯示簡單變數,迭代整個陣列或關聯陣列,以及顯示類的成員。
佔位符的預設值
如果 php **沒有將變數與佔位符關聯,則顯示預設值。
控制運算子,例如if
、then
、else
,可以根據輸入資料選擇動態顯示哪些內容
例如,設計人員可以選擇用加粗的紅色文字顯示負賬戶餘額,而用黑色文字顯示正餘額。您可以在模板中隔離此類顯示邏輯(使您可以更輕鬆地進行開發)。
迴圈控制,它將提供用於簡化構建列表和表的特殊變數
例如,可以測試迴圈的第一次迭代並建立表頭。還可以像迴圈迭代一樣迴圈執行值輪循 (round-robin) 列表,迴圈迭代非常適於改變錶行的顏色。
渲染時用於改變資料的修飾符
例如,可以用 smarty 標記大寫加粗顯示佔位符 —— 如
$name
。
是普通 html。大括號 (
{}
) 用於劃定 smarty 標記,$name
是佔位符,而|upper
是修飾符。還可以編寫自己的修飾符以擴充套件 smarty 的功能。
如果必須 包括指令碼和原始 php **,可以用literal
和php
運算子來完成
literal
運算子內的所有內容都將被逐字傳遞給最終頁面。php
運算子中放置的**將像嵌入到<?php ... ?>
轉義符內一樣執行。
smarty 模板採用了若干個 smarty 運算子:
像是 php 自己的include()
方法一樣執行,在適當的位置立即插入和解釋filename
的內容。雖然並未顯示,但是可以將變數從乙個模板傳遞給另乙個模板,這樣做鼓勵重用。
假定person
與名為getproperty()
的方法相關。您可以呼叫物件的方法和引用物件成員,像所做的那樣。
在陣列內迭代。loop
屬性將給佔位符命名,而name
屬性將指定乙個名稱以供陣列索引使用。在迴圈內,將把陣列元素作為來引用。
foreach
像section
一樣迭代,但是提供了乙個非常優秀的功能來處理一組關聯陣列,例如資料庫查詢的行列表。每個關聯陣列都被 「轉換」 到名為item
的索引中。例如,在清單 5 中,person
被命名為item
。每執行一次迴圈,person
就會被指定來自陣列people
的關聯陣列。在那之後,在整個迴圈過程中,可以通過關鍵字引用關聯陣列中的值,如。
foreach中的name屬性
類似於 html 標記的id
屬性,它將惟一地識別迴圈。使用此 id 來引用反映迴圈狀態的特殊變數集。例如,乙個特殊變數是first
,它只在迴圈的第一次迭代時才被設定。因此,值$smarty.foreach.people.first
將引用與名為people
(people
) 的foreach
迴圈 (foreach
) 關聯的特殊 smarty 變數 (smarty
)。正如您可能會想到的那樣,還有last
值和iteration
值,它們從 1 開始,並隨每次迭代增加(如果需要從零開始的計數器,請使用index
而不要使用iteration
)。
cycle
用於構建表的優秀運算子。如果提供values
列表,smarty 將像迴圈迭代一樣在所有值中迴圈。將迴圈新增到bgcolor
中將改變每個錶行的顏色可以使表更清晰。
如果要迭代的陣列為空,則轉而顯示...
的內容。
Web應用程式與桌面應用程式的區別
web delphi 伺服器網路 internet access 如果都是用.net做的話,桌面程式需要開發伺服器端和客戶端兩塊程式,電腦都要安裝.net framework,b s形式的話,只用做伺服器端。但兩者桌面應用可能軟體介面更好控制一些,web形式客戶端的螢幕就不太好空,一般滿足1024 ...
Web應用程式與桌面應用程式的區別
web delphi 伺服器網路 internet access 如果都是用.net做的話,桌面程式需要開發伺服器端和客戶端兩塊程式,電腦都要安裝.net framework,b s形式的話,只用做伺服器端。但兩者桌面應用可能軟體介面更好控制一些,web形式客戶端的螢幕就不太好空,一般滿足1024 ...
PHP 應用程式的效能優化
使用php程式設計的最大好處是學習這種程式語言非常容易以及其豐富的庫。即使對需要使用的函式不是十分了解,我們也能夠猜測出如何完成乙個特定的任務。儘管php非常簡單易學,但我們仍然需要花費一點時間來學習php的一些程式設計技巧,尤其是與效能和記憶體占用相關的技巧。在php中,有許多小技巧能夠使我們減少...