分離 PHP 應用程式中的形式與功能

2021-04-24 15:04:53 字數 2665 閱讀 1745

smarty,它是最流行的 php 模板引擎之一。smarty 「**」 有它自己的語法和運算子擴充套件列表,但是系統並不難學。閱讀或瀏覽 smarty 文件,以便熟悉它的所有功能。從 smarty 的小修改開始,根據需求擴充套件您的技能,然後越來越精通。

smarty 有兩個方面:php 應用程式程式設計介面 (api) 和顯示引擎。應用程式**將呼叫 api 把**變數與模板佔位符關聯起來,而顯示引擎將解釋 smarty 標記、執行迴圈、引用佔位符和顯示最終結果。smarty 功能包括:

用於顯示 php 的所有基本資料結構的運算子

顯示簡單變數,迭代整個陣列或關聯陣列,以及顯示類的成員。

佔位符的預設值

如果 php **沒有將變數與佔位符關聯,則顯示預設值。

控制運算子,例如ifthenelse,可以根據輸入資料選擇動態顯示哪些內容

例如,設計人員可以選擇用加粗的紅色文字顯示負賬戶餘額,而用黑色文字顯示正餘額。您可以在模板中隔離此類顯示邏輯(使您可以更輕鬆地進行開發)。

迴圈控制,它將提供用於簡化構建列表和表的特殊變數

例如,可以測試迴圈的第一次迭代並建立表頭。還可以像迴圈迭代一樣迴圈執行值輪循 (round-robin) 列表,迴圈迭代非常適於改變錶行的顏色。

渲染時用於改變資料的修飾符

例如,可以用 smarty 標記大寫加粗顯示佔位符 —— 如$name

是普通 html。大括號 ({}) 用於劃定 smarty 標記,$name是佔位符,而|upper是修飾符。還可以編寫自己的修飾符以擴充套件 smarty 的功能。

如果必須 包括指令碼和原始 php **,可以用literalphp運算子來完成

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中,有許多小技巧能夠使我們減少...