ThinkPHP5 0 模板之模板布局

2021-08-19 13:26:55 字數 2597 閱讀 6699

可以使用literal標籤來防止模板標籤被解析,例如

hello

,!

上面的標籤被literal標籤包含,因此並不會被模板引擎解析,而是保持原樣輸出。

literal標籤還可以用於頁面的js**外層,確保js**中的某些用法和模板引擎不產生混淆。

模板支援注釋功能,該注釋文字在最終頁面不會顯示,僅供模板製作人員參考和識別。

格式:

注意:在花括號與注釋標記之間不能有空格的。

例如:支援多行注釋,例如:

模板注釋支援多行,模板注釋在生成編譯快取檔案後會自動刪除,這一點和html的注釋不同。

thinkphp的模板引擎內建了布局模板功能支援,可以方便的實現模板布局以及布局巢狀功能。

有三種布局模板的支援方式:

這種方式僅需在專案配置檔案中新增相關的布局模板配置,就可以簡單實現模板布局功能,比較適用於全站使用相同布局的情況(在某乙個**裡面,每乙個頁面他的頭部或者尾部都是公共的部分,這種情況採用全域性配置方式),需要配置開啟layout_on 引數(預設不開啟),並且設定布局入口檔名layout_name(預設為layout)。

'layout_on'     =>  true,

'layout_name'   =>  'layout',

在配置檔案中貼上這兩行**到對應位置

然後在view目錄下新建乙個layout.html(名字自取)

讀取layout模板之後,會再解析layout.html 模板檔案,並把解析後的內容替換到layout布局模板檔案的 特定字串。

當然可以通過設定來改變這個特定的替換字串,例如:

'layout_item'

=>

''  (名字自取)

如果某些頁面不需要使用布局模板功能,可以在模板檔案開頭加上字串。

如果上面的index/index.html 模板檔案裡面包含有,則即使當前開啟布局模板,也不會進行布局模板解析。

改了引數,預設所有模板都會先解析layout.html這個頁面,如果不想使用,首先寫這個

這種布局模板不需要在配置檔案中設定任何引數,也不需要開啟layout_on,直接在模板檔案中指定布局模板即可,相關的布局模板調整也在模板中進行。

以前面的輸出模板為例,這種方式的入口還是在index/index.html 模板,但是我們可以修改下index模板檔案的內容,在頭部增加下面的布局標籤(記得首先關閉前面的layout_on設定,否則可能出現布局迴圈):

name後面的值表示我們當前需要使用的布局模板的檔案

表示當前模板檔案需要使用layout.html布局模板檔案,而布局模板檔案的寫法和上面第一種方式是一樣的。當渲染index/index.html

模板檔案的時候,如果讀取到layout標籤,則會把當前模板的解析內容替換到layout布局模板的 特定字串。

乙個模板檔案中只能使用乙個布局模板,如果模板檔案中沒有使用任何layout標籤則表示當前模板不使用任何布局。

如果需要使用其他的布局模板,可以改變layout的name屬性,例如:

使用內建的layout方法可以更靈活的在程式中控制模板輸出的布局功能,尤其適用於區域性需要布局或者關閉布局的情況,這種方式也不需要在配置檔案中開啟layout_on。例如:

三種模板布局方式中,第一種和第三種是在程式中配置實現模板布局,第二種方式則是單純通過模板標籤在模板中使用布局。具體選擇什麼方式,需要根據專案的實際情況來了。

ThinkPHP5 0 接觸學習

mvc不是設計模式,而是設計典範。composer 是 php5.3以上 的乙個依賴管理工具。它允許你宣告專案所依賴的 庫,它會在你的專案中為你安裝他們。開發環境介紹 php版本 5.4.0 pdo mbstring curl php extension 安裝好這個擴充套件,thinkphp5能正常...

thinkphp5 0目錄結構

5.0的部署建議是public目錄作為web目錄訪問內容,其它都是web目錄之外,當然,你必須要修改public index.php中的相關路徑。如果沒法做到這點,請記得設定目錄的訪問許可權或者新增目錄列表的保護檔案。router.php用於php自帶webserver支援,可用於快速測試 啟動命令...

ThinkPHP5 0開發規範

thinkphp5 遵循 psr 2 命名規範和 psr 4 自動載入規範,並且注意如下規範 目錄和檔案 目錄使用小寫 下劃線 類庫 函式檔案統一以 php 為字尾 類的檔名均以命名空間定義,並且命名空間的路徑和類庫檔案所在路徑一致 類檔案採用駝峰法命名 首字母大寫 其它檔案採用小寫 下劃線命名 類...