打開(kāi)Myapp/Lib/Action/IndexAction " /> 国产精品久久久久永久免费观看 ,久久香蕉一区,蜜桃在线视频

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

淺析ThinkPHP的模板輸出功能

Thinkphp中的每一個(gè)xxxAction.class.php文件就代表著一個(gè)應(yīng)用模塊,這個(gè)Action中的每一個(gè)方法(function)代表著一個(gè)操作,操作可以分為有輸出到模板的操作和只具執(zhí)行不需要輸出的操作。
打開(kāi)Myapp/Lib/Action/IndexAction.class.php文件,我們可以看到里面的基礎(chǔ)代碼:

class IndexAction extends Action{public function index(){}}

對(duì)此,需要指出一下幾點(diǎn):

1.在Thinkphp的開(kāi)發(fā)中,要增加一個(gè)應(yīng)用模塊,就要在Action文件夾里建立一個(gè)類,類的文件命名格式是“模塊名稱+Action.class.php”。例如我們這里的應(yīng)用模塊是Index,所以定義文件名為IndexAction.class.php
2.應(yīng)用模塊類的定義要繼承框架的Action類。要為這個(gè)應(yīng)用模塊添加一個(gè)操作,則定義一個(gè)以此操作為命名的function.例如上面的index操作。

通常一個(gè)應(yīng)用模塊中,會(huì)有若干操作(function)需要有與用戶交互的頁(yè)面,這就需要用到模板輸出,Thinkphp本身已內(nèi)置了一套具有Thinkphp特色的,很強(qiáng)大易擴(kuò)展但應(yīng)用非常方便兼簡(jiǎn)單的模板引擎。
在應(yīng)有模塊中,如果某個(gè)操作是需要頁(yè)面顯示的,只要對(duì)應(yīng)在Myapp/Tpl/default/里建立一個(gè)文件夾,文件夾以應(yīng)用模塊的名稱來(lái)命名,然后在這個(gè)文件夾下,建立一個(gè)以這個(gè)function名稱來(lái)命名的html文件,就可以在這個(gè)方法中使用$this->display()方法來(lái)直接調(diào)用該模板。(當(dāng)然也可以調(diào)用其它模塊下的其它模板或顯式指定模板文件位置和名稱,由于是循序漸進(jìn)式的學(xué)習(xí),就讓我們先忽略吧)了解這些理論后,我們先簡(jiǎn)單實(shí)操一下這些知識(shí)。
(1)在Myapp/Tpl/default/下建立一個(gè)文件夾,根據(jù)應(yīng)用模塊的名稱,我們將這個(gè)文件夾命名為Index
(2)在Myapp/Tpl/default/Index/下建立一個(gè)html文件,根據(jù)操作名稱,我們命名該文件為index.html
(3)打開(kāi)Myapp/Lib/Action/IndexAction.class.php文件,修改代碼為

<?phpclass IndexAction extends Action{public function index(){$value =  'hello,Thinkphp';$this->assign('name',$value);$this->display();}}?>

(摘自手冊(cè):Thinkphp模板指南,此后的知識(shí)要點(diǎn)均來(lái)自Thinkphp官方手冊(cè),不再申明)
在Action類里面使用 assign方法對(duì)模板變量賦值,無(wú)論何種變量類型都統(tǒng)一使用assign賦值。

$this->assign('name',$value);

// 下面的寫法是等效的

$this->name = $value ;

// 模板變量賦值后就需要調(diào)用模板文件來(lái)輸出相關(guān)的變量,模板調(diào)用通過(guò)display方法來(lái)實(shí)現(xiàn)

$this->display();


4 打開(kāi)Myapp/Tpl/default/Index/index.html文件,代碼為

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><title>{$name}</title></head><body>測(cè)試輸出: {$name}</body></html>

此處注意:模板變量使用{$變量名稱}這種標(biāo)簽進(jìn)行輸出。

不同的模板變量類型,使用不同的標(biāo)簽,標(biāo)簽可以自行另外定義,暫且不理會(huì)。

5 打開(kāi)瀏覽器輸入地址:<http://127.0.0.1/>,我們可以看到,定義的模板變量已經(jīng)輸出來(lái)了。

附加補(bǔ)充知識(shí):

1 如果要同時(shí)輸出多個(gè)模板變量,可以使用下面的方式:

$array = array();$array['name']  =  'thinkphp';$array['email']  =  '123456@vip.qq.com';$array['phone']  =  '123456';$this->assign($array);

這樣,就可以在模板文件中同時(shí)輸出name、email和phone三個(gè)變量。

2 我們使用上面的變量定義,將整個(gè)數(shù)組定義為一個(gè)模板變量來(lái)輸出

$array = array();$array['name']  =  'thinkphp';$array['email']  =  '123456@vip.qq.com';$array['phone']  =  '123456';$this->assign('array',$array);$this->display();

在html中,要輸出$array['name']的值,代碼是
{$array.name} 或 {$array['name']}

3 將這個(gè)數(shù)組循環(huán)輸出

(1) IndexAction.class.php中代碼更改如下

<?phpclass IndexAction extends Action{public function index(){$array = array();$array['name']  =  'thinkphp';$array['email']  =  '123456@vip.qq.com;$array['phone']  =  '123456';$value =  'hello,Thinkphp';$this->assign('array',$array);$this->assign('name',$value);$this->display();}}?>

(2) 將Myapp/Tpl/default/Index/index.html代碼更改如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><title>{$name}</title></head><body><iterate name="array" id="vo">{$vo}<br /></iterate></body></html>

注意:name='array'是指要循環(huán)的模板變量是array,id='vo'是指這個(gè)數(shù)據(jù)在模板輸出時(shí)所使用的名稱

php技術(shù)淺析ThinkPHP的模板輸出功能,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 永胜县| 龙泉市| 建平县| 富裕县| 佛山市| 云和县| 大埔县| 资中县| 盱眙县| 定安县| 眉山市| 拉萨市| 德兴市| 固镇县| 达尔| 威宁| 孙吴县| 蓬莱市| 夏津县| 玉屏| 平山县| 波密县| 泗洪县| 郴州市| 桂东县| 陈巴尔虎旗| 新巴尔虎右旗| 镇赉县| 临江市| 察雅县| 萨迦县| 恩施市| 岗巴县| 静海县| 山西省| 青川县| 仁化县| 安达市| 旅游| 图们市| 喜德县|