thinkphp 是如何輸出乙個頁面的

2022-05-06 06:36:09 字數 882 閱讀 5843

表面上看,tp輸出乙個頁面很簡單:$this->display();

實際上是怎麼回事呢?$this->display(); 這個display()方法是定義在thinkphp/library/think/controller.class.php這個檔案中的

protected function display($templatefile='',$charset='',$contenttype='',$content='',$prefix='')

而這個display方法其實是屬於$this->view這個物件的。$this->view 是什麼呢?還是thinkphp/library/think/controller.class.php這個檔案

public function __construct()

可以看到$this->view其實是think\view類的乙個例項,think\view 就是thinkphp/library/think/view.class.php啦

那我們就去看看view.class.php中的display方法是長什麼樣的

public function display($templatefile='',$charset='',$contenttype='',$content='',$prefix='')

忽略g方法、鉤子, 就是簡單的兩部分內容:1、解析並獲取模板內容;2、輸出模板內容;

具體怎麼回事呢?

第一點是有兩部分的,首先獲取模板檔案的位置($this->parsetemplate) ,然後把裡面的php標籤替換成具體的內容 

第二點呢,太簡單了,直接echo $content,就輸出內容了

到此,$this->display()背後的過程就清清楚楚了。

如何逆序輸出乙個整數

給出乙個整數,將它逆序輸出,首先求出它是乙個幾位數,利用for迴圈將數字從高位到低位分別輸出。例如1234這個數,首先通過for迴圈求出,它是乙個4位數,然後1234第一次除以1000,得到1並輸出,1234再對1000取餘,去掉1得到234,第二次234除以100,得到2並輸出,234再對100取...

乙個程式是如何生成的

很多剛接觸程式設計的同學,應該都會學到乙個 hello world 的程式,通常教程中都會教先安裝乙個idea,然後在idea中敲入 編譯然後執行,簡單的 hello world 程式就完成了。但你是否有想過從敲完 後的原始檔,到輸出 hello world 的可執行檔案,這中間到底經歷了什麼過程呢...

輸出乙個愛心

目錄 include include int main putchar n return 0 注意 的第7行中的 color 0c 其中的0和b分別控制控制台的前景和背景顏色。0和b是控制台輸出的顏色屬性。顏色屬性由兩個十六進製制數字指定 第乙個對應於背景,第二個對應於前景。每個數字可以為以下任何值...