說到 $this->assign() 與 $this->display()想必用過TP框架的都不陌生,那么今天我們就來說說他們的作用及其他用法。
先說 $this->assign()吧。
它的作用很簡單 ,就是打印出數組。
舉個例子:
<?php
$apple = "蘋果";
$this->assign('apple',$apple);
?>
assign中的第一個參數是在模板取值的時候所使用的變量名, 第二個參數是要傳遞的值。
<html>
<head>
<title>取值</title>
</head>
<body>
{$apple}
</body>
</html>
這樣就可以把值傳遞到模板中。
下面說說 $this->display()
它的作用是把打出來的數據放到對應的模板上。這里面正常來說不需要賦值,因為它會根據命名規則自動尋找對應的模板文件。但總有一些其他情況,那么我們就來說一下其他情況。
一、調用當前模塊的其他模板
格式:$this->display('模板名字');
例如:假設當前操作的是Table模塊下的 apple , 我們需要調用Table模塊下的 orange。
這樣寫 $this->display('orange')即可。
二、調用其它模塊的操作
格式:$this->display('模塊名:模板名')
例如:假設當前操作的是Table模塊。我們需要調用 Food模塊的 pizza。
這樣寫 $this->display('Food:pizza')即可。
三、全路徑輸出模板
格式:$this->display('路徑文件名');
例如:我們輸出當前的public目錄下的 add.html
這樣寫 $this->display('./public/add.html');即可。
四、其他參數方法
我們想指定模板輸出的編碼,而不是默認編碼。
可以使用 $this->display('Table:apple','gbk');
或者模板不是HTML格式的 ,而是XML格式的
可以 $this->display('Table:apple','utf-8','text/xml');