Thinkphp框架感悟(一)

2022-07-12 17:00:21 字數 3282 閱讀 1527

一、assign()

/**

* 分析:

* 此處是

controller

類裡面的

assign

方法,我們一般寫的控制器所呼叫的

assign

方法就是調的這個。

* 而這個方法就幹了三件事:

1、獲取傳過來的

$name

和$value。2

、當前物件呼叫

view

類裡的assign

方法並傳入

$name

和$value。3

、傳給返回當前物件。

* 這個

view

是乙個變數,也是乙個物件。在前幾行先是宣告了

view

這個變數,然後把

view

類例項化成

view物件「

寫在了建構函式裡」。

* 其中的

return $this

是返回了當前物件,目的是為了連續操作,類似於

tp框架裡的

sql連續操作。(但我目前還沒看到**對

assign

方法用到了連續操作)

*/protected function

assign(

$name

,$value=''

)

/**

* 分析:

* 此處是

view

類中的assign

方法,被

controller

中的view

物件呼叫。

* 首先判斷

$name

是否為乙個陣列,

* 如果是乙個陣列,則將它賦值個給

tvar

,因為tvar

是空陣列,所以

tvar

就是$name.

* 如果不是乙個陣列,則將

tvar

變成乙個二維陣列,其中的某乙個鍵值對來放

$name

和$value,

如果有新的

$name

和$value

則繼續放到這個二維陣列裡

* 這裡這個

tvar

會在之後用到(

display

()函式內還會還繼續操作

view

物件)*

* 所以在應用中,我們不能在乙個方法裡對

assign

傳入兩個相同的

$name

,應用這樣的話後乙個

$value

會覆蓋前乙個

$value

*/public function

assign(

$name

,$value=''

)else

}

二、display()

這個函式看的不是很懂,日後有機會一定深入**

/**

* 模板顯示 呼叫內建的模板引擎顯示方法,

* @access

protected

* @param

string $templatefile

指定要呼叫的模板檔案

* 預設為空 由系統自動定位模板檔案

* @param

string $charset

輸出編碼

* @param

string $contenttype

輸出型別

* @param

string $content

輸出內容

* @param

string $prefix

模板快取字首

* @return

void**

分析:*

此處是父控制器

controller

中的display

方法。*

有五個可選傳入引數

* 這個方法的作用是呼叫

view

物件的display

方法,並傳入

5個可選引數。(一般我用

display

時是不傳引數的)

*/protected function

display(

$templatefile=''

,$charset=''

,$contenttype=''

,$content=''

,$prefix=''

)

/**

* 這是

view

物件中的

display

方法。*

這個方法一共實現了兩個步驟:

1、呼叫當前

view

物件的fetch

方法獲取並解析模板(

html

頁面)內容,將其賦值給

$content。2

、呼叫當前物件的

render

方法輸出模板。

*/public function

display(

$templatefile=''

,$charset=''

,$contenttype=''

,$content=''

,$prefix=''

)

/**

* 這是

view

物件中的

display

方法。*

這個方法一共實現了兩個步驟:

1、呼叫當前

view

物件的fetch

方法獲取並解析模板(

html

頁面)內容,將其賦值給

$content。2

、呼叫當前物件的

render

方法輸出模板。

*/public function

display(

$templatefile=''

,$charset=''

,$contenttype=''

,$content=''

,$prefix=''

) 其中:fetch方法顯示自動定位了模板路徑,然後利用之前assign方法得到的tvar陣列,來解析模板,將所要替換的標籤替換。最終將解析完的模板轉化成乙個字串。

之後render方法再將之前得到的模板字串echo出來。

(這fetch和render函式的大體步驟差不多如此,但裡面還有很多細節我沒有看懂,有待細究)。

ThinkPHP框架一 框架搭建

require thinkphp thinkphp.php 執行tp框架 1 存放位置 controller資料夾中 2 命名規範 控制器的名稱 controller.class.php 3 類名和檔名同名 4 用帕斯卡命名法 大駝峰 5 盡量區分大小寫,6 thinkphp預設全部是utf8編碼 ...

ThinkPHP框架學習(一)

這幾天呢,斷斷續續地在看孫叔華老師的thinkphp教程,期間還做了一些其他事情,出去辦了點事,總結總結下一學期規劃等等,不知不覺間又過去了大半個星期。現在呢,看完了一天的教程,在這裡,還是希望稍微總結一番,加強自己的印象。其中的thinkphp目錄結構如下 有關這些資料夾的具體作用,可以參照下圖 ...

ThinkPHP講解(一)框架基礎

thinkphp框架知識點過於雜亂,接下來將以問題的形勢講解tp thinkphp的簡寫 1.tp框架是什麼,為什麼使用是它?一堆 的集合,裡邊有變數 函式 類 常量,裡邊也有許多設計模式mvc ar資料庫 單例等等。框架可以節省我們50 60 的工作量,我們全部精力都集中在業務層次。為什麼使用框架...