一、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=''
)
/**二、display()* 分析:
* 此處是
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
}
這個函式看的不是很懂,日後有機會一定深入**
/*** 模板顯示 呼叫內建的模板引擎顯示方法,
* @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 的工作量,我們全部精力都集中在業務層次。為什麼使用框架...