View 視圖類
?? View 構(gòu)造函數(shù)為
private
抑淫,無法通過 new 方式實(shí)例化呢燥,僅通過 控制器 的getView
方法獲得
// in controller-action
$view = $this->getView();
$view->assign([ 'foo' => 'bar' ]);
return $view->render('sample', [ 'hello' => 'world' ]);
View::assign
賦值到模板變量
View View::assign ( string $varname, mixed $value )
View View::assign ( array $vars )
參數(shù)
當(dāng)傳入 2 個(gè)參數(shù)時(shí)
$varname - 模板變量名
$value - 模板變量值當(dāng)傳入 1 個(gè)參數(shù)時(shí)
$vars - 模板變量數(shù)組返回值
當(dāng)前視圖實(shí)例,因此可以使用 鏈?zhǔn)秸{(diào)用范例
$view->assign('foo', 'bar')
->assign('vars', [1, 2, 3])
->assign(['hello' => 'world', 'a' => 1]);
// ----- OR -----
$view->assign([
'foo' => 'bar',
'vars' => [1, 2, 3],
'hello' => 'world',
'a' => 1,
]);
View::append
添加值到一個(gè)模板變量數(shù)組
View View::append ( string $varname, mixed $value )
如果模板變量中已存在該
$varname
且不是一個(gè)數(shù)組耳舅,則不添加
參數(shù)
$varname - 模板變量名
$value - 模板變量值堂鲜,如果是 數(shù)組 則遍歷添加返回值
當(dāng)前視圖實(shí)例可柿,因此可以使用 鏈?zhǔn)秸{(diào)用范例
$view->append('foo', 'bar'); // 這時(shí) $foo = ['bar']
// ...
$view->append('foo', 'hello') // 這時(shí) $foo = ['bar', 'hello']
->append('foo', 'world') // 這時(shí) $foo = ['bar', 'hello', 'world']
->append('foo', ['a', 'b']); // 最終 $foo = ['bar', 'hello', 'world', 'a', 'b']
View::render
渲染模板并返回渲染結(jié)果
string View::render ( string $tplname [, array $vars = null] )
參數(shù)
$tplname - 模板文件名,不需要包含.phtml
文件后綴
$vars - 需賦值到模板的變量數(shù)組绊寻,默認(rèn)不設(shè)置返回值
渲染成功則返回渲染結(jié)果字符串花墩,失敗將拋出 * E404Exception * 異常范例
// 渲染 views/user/login.phtml
$view->assign([
'foo' => 'bar',
'vars' => [1, 2, 3],
]);
return $view->render('user/login');
// ----- OR -----
return $view->render('user/login', [
'foo' => 'bar',
'vars' => [1, 2, 3],
]);
模板方法
t
返回 HTML 轉(zhuǎn)義結(jié)果
?? 該方法只能在模板文件中使用
string t( string $string )
?? 該方法已取消對(duì)
sprintf
格式的支持
參數(shù)
$string - 需要轉(zhuǎn)義的字符串,支持sprintf
格式澄步。關(guān)于格式冰蘑,請(qǐng)查看 官方 sprintf 函數(shù)說明
$args - 如有使用格式,則該值為代入格式的值返回值
轉(zhuǎn)義后的結(jié)果字符串范例
echo t('<h1>It works!</h1>'); // 輸出 <h1>It works!</h1>
p
打印 HTML 轉(zhuǎn)義結(jié)果
?? 該方法只能在模板文件中使用
該方法內(nèi)容結(jié)果同 t
方法村缸,只是同時(shí)輸出內(nèi)容到頁面
url
返回絕對(duì)路徑
?? 該方法只能在模板文件中使用
同 Azalea\url()
conf
獲取配置項(xiàng)
?? 該方法只能在模板文件中使用
同 Azalea\Config::get()
conf2
獲取子配置項(xiàng)
?? 該方法只能在模板文件中使用
同 Azalea\Config::getSub()