Joomla模板开发-模版是如何执行的
Joomla模板開發-模版是如何執行的
??? 在本節中我們要解決的問題是 joomla的模版是怎樣被執行的。
? joomla模版分兩個階段來執行的。因為模版通常是在document對象中執行的,所以在模版中的$this對象就是代表了JDocument類。
? 在模板開始執行之前,組件會先被執行,并且將他生成的輸出緩存起來。留待稍后使用。
??? 模版的執行具體過程:
? 1、如果模板存在參數,就加載模版的參數
? 2、如果模版設定了語言,就加載語言文件
? 3、檢查是否開啟了兼容模式,如果開啟了兼容模式,那么就將配置變量復制到全局空間中
? 4、PHP開始加載模版的index.php文件。并且執行index.php文件。將輸出的結果緩存起來。
到此為止,就完成了模版的第一階段。在<?php? 和?>之間的代碼都被作為php代碼進行執行。在這個標簽之外的代碼就被直接輸出。由于輸出是在緩存中,所以在這個階段中客戶端瀏覽器并不會輸出任何東西。
?5、開始尋找favicon.ico文件。開始在joomla的根目錄下尋找,然后在模版的根目錄下尋找,如果在模版中找到了favicon.ico文件,那么就將前者進行覆蓋。
6、分析第一階段緩存的內容,開始解析<jdoc:include>元素。這就標志進入了第二階段。對于每一個找到的jdoc元素,對 應的渲染類將被自動加載,并且調用這個類的render方法,進行渲染。渲染類輸出的內容將會替換<jdoc :include>中的內容。在模型的渲染類中將會觸發模塊的執行,并且加執行結果進行緩存。(注:所謂的渲染就是輸出html代碼)
7、指定的模版頭被添加到模版的輸出頭列表中
8、系統將控制權交給JApplication對象,這個對象將會負責處理獲得新的頁面,并且將新的內容返回給瀏覽器。
這樣整個輸出過程就完成了。
?我們需要思考的問題是,這個過程說明了什么?
對我們寫代碼有什么幫助?
首先這段話解釋了模板文件的$this代表了什么,他代表了JDocuemnt。那么也就是說我們可以在模板的主文件中操作文檔對象。比喻說得到當前文章的標題都很容易做到。另一方面,他也說明了一個執行順序的問題。首先會執行php代碼,然后才解析<jdoc:include>標簽。
這是我們的網站http://www.zmax99.com,里面有很多免費的開源資料,歡迎joomla愛好者前去下載。zmax程序人-----中國joomla開發團隊!
轉載于:https://my.oschina.net/u/2330387/blog/401630
總結
以上是生活随笔為你收集整理的Joomla模板开发-模版是如何执行的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32CubeMX与HAL库学习--
- 下一篇: 扫雷地图设置