視圖通常是指數據庫的視圖,視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。
工具/原料
ThinkPHP框架
方法/步驟
模板的使用 (重點)a、規則模板文件夾下[TPL]/[分組文件夾/][模板主題文件夾/]和模塊名同名的文件夾[Index]/和方法名同名的文件[index].html(.tpl)更換模板文件的後綴名(修改配置文件)'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件後綴名b、修改模板文件目錄層次'TMPL_FILE_DEPR'=>'_',//修改模板文件目錄層次c、模板主題'DEFAULT_THEME'=>'your',//設置默認模板主題需要在TPL下面新建一個your文件夾作為模板主題文件夾如何動態修改模板主題?1、在後臺準備一個功能,修改config.php文件中的默認模板項2、通過url傳遞 t=主題 參數可以修改不同的模板'DEFAULT_THEME'=>'your',//設置默認模板主題'TMPL_DETECT_THEME'=>true,//自動偵測模板主題'THEME_LIST'=>'your,my',//支持的模板主題列表
輸出模板內容 (重點)a、display1.display中沒有參數$this->display();2.可以帶參數$this->display(本模塊文件夾下的其他模板文件);$this->display('index2');$this->display(其他文件夾下的模板文件);$this->display('Public:error');//注意,僅僅需要在Tpl下有Public文件夾以及其中的error.html即可,不需要一定有Public模塊$this->display(其他主題下的 文件夾下的 模板文件);//需要開啟主題支持$this->display('my:Index:index');三、模板中的賦值 (重點)四、模板替換 (重點)
模版的使用
User模塊下的demo方法 ,模塊放置的地方,
D:\wamp\www\thinkphp\Home\Lib\Action
模塊顯示$this->display();
讓模版來顯示內容
那模版放在哪裡?
創建模版index要和方法public function index(){}相同
class UserAction extends Action
要和tpl下面的User同名,然後就是方法名index和其中的模版名index.html要相同
模版文件下Tpl/[分組文件夾]【模版主題】和模塊名同名的文件夾Index/和方法名同名的文件index.html
模版的後綴名.html或者.tpl
更換模版文件的後綴名
需要修改配置文件
配置文件
//修改模版的後綴名
'TMPL_TEMPLATE_SUFFIX'=>'.html',
一般情況不要修改,默認為.html
更改模版的目錄結構
'TMPL_FILE_DEPR'=>'_',//修改模板文件目錄層次
c、模板主題'DEFAULT_THEME'=>'your',//設置默認模板主題需要在TPL下面新建一個your文件夾作為模板主題文件夾如何動態修改模板主題?1、在後臺準備一個功能,修改config.php文件中的默認模板項2、通過url傳遞 t=主題 參數可以修改不同的模板'DEFAULT_THEME'=>'your',//設置默認模板主題'TMPL_DETECT_THEME'=>true,//自動偵測模板主題'THEME_LIST'=>'your,my',//支持的模板主題列表
//更改模版主題
//設置默認的主題
//'DEFAULT_THEME'=>'my',
//如果有多個主題
'DEFAULT_THEME'=>'your',
//動態的更改模版
'TMPL_DETECT_THEME'=>'true',
//自動偵測模板主題
'THEME_LIST'=>'your,my',
//支持的模板主題列表
輸出模版中的內容
1) display中沒有參數
$this->display();
2)可以帶參數
$this->display(“模塊下的其他模版”);
這裡的模版名參數不要後綴名
輸出模版中的內容小結:
二、輸出模板內容 (重點)a、display1.display中沒有參數$this->display();2.可以帶參數$this->display(本模塊文件夾下的其他模板文件);$this->display('index2');$this->display(其他文件夾下的模板文件);$this->display('Public:error');//注意,僅僅需要在Tpl下有Public文件夾以及其中的error.html即可,不需要一定有Public模塊$this->display(其他主題下的 文件夾下的 模板文件);//需要開啟主題支持$this->display('my:Index:index');
在項目中可以用文件夾路徑的形式來調用文件
比如說
項目的公共文件Public
放在項目的Public下
屬於整個項目中,如何調用呢?
要用路徑來調用
//調用項目中的公共文件不是放在模塊下的模版文件中,而是放在項目的公共文件中
//用路徑來調用
$this->display('./Public/error.html');
//當前項目中的Public下的error.html頁面
這裡的當前是指主入口文件index.php當前目錄下
display()的參數,第一個是模版,第二個是指定模版的編碼utf-8,可以不寫,模版的輸出類型默認是html,可以改成tpl,xml
$this->show();輸出模版的內容,模版文件不存在,或者別的文件,無法轉成html
可以用這個方式輸出內容
$this->show("這裡是用show方法來輸出內容。");
//通常我們會將內容放在一個變量中,有可能這個變量是從數據庫中取出的
//$content="這是從數據庫中取出的數據";
//fetch方法可以將一個模版文件返回給一個字符串
$content=$this->fetch('Public:error');
$this->show($content);
可以讀取模版的內容,是一個字符串
//打印出這個字符串
dump($content);
//fetch方法可以將一個模版文件返回給一個字符串
$content=$this->fetch('Public:error');
//打印出這個字符串
//dump($content);
//當我們要替換一個字符串很方便
$content=str_replace("h1","h2",$content);
$this->show($content);
fetch方法,獲得模版中的內容,以字符串的形式返回
//fetch方法可以將一個模版文件返回給一個字符串
$content=$this->fetch('Public:error');
//打印出這個字符串
//dump($content);
//當我們要替換一個字符串很方便
$content=str_replace("h1","h2",$content);
$this->show($content);
4)show()方法,不需要模版文件,可以向頁面中輸出內容
//fetch方法可以將一個模版文件返回給一個字符串
$content=$this->fetch('Public:error');
//打印出這個字符串
//dump($content);
//當我們要替換一個字符串很方便
$content=str_replace("h1","h2",$content);
$this->show($content);