視圖表示MVC模式中的視圖對(duì)象。
View提供了一組用于渲染目的的方法(例如render())。? ? ? ? ? ? ? ? ? ? ? ? ?(推薦學(xué)習(xí):yii框架)
默認(rèn)情況下,將View配置為yii base Application中的應(yīng)用程序組件。您可以通過訪問該實(shí)例Yii::$app->view。
您可以通過將數(shù)組添加到應(yīng)用程序配置下來修改其配置,components?如下例所示:
'view'?=>?[ ????'theme'?=>?'appthemesMyTheme', ????'renderers'?=>?[ ????????//?you?may?add?Smarty?or?Twig?renderer?here ????] ????//?...
視圖是MVC體系結(jié)構(gòu)的一部分。它們是負(fù)責(zé)向最終用戶呈現(xiàn)數(shù)據(jù)的代碼。在Web應(yīng)用程序中,通常使用視圖模板創(chuàng)建視圖,這些視圖模板是主要包含HTML代碼和表示形式的PHP代碼的php腳本文件。
它們由視圖 應(yīng)用程序組件管理,該視圖應(yīng)用程序組件提供了常用的方法來簡(jiǎn)化視圖的組成和渲染。為簡(jiǎn)單起見,我們通常將視圖模板或視圖模板文件稱為視圖。
創(chuàng)建視圖
如前所述,視圖只是混合了HTML和PHP代碼的PHP腳本。以下是顯示登錄表單的視圖。如您所見,PHP代碼用于生成動(dòng)態(tài)內(nèi)容,例如頁(yè)面標(biāo)題和表單,而HTML代碼則將它們組織為可顯示的HTML頁(yè)面。
<?php use yiihelpersHtml; use yiiwidgetsActiveForm; /* @var $this yiiwebView */ /* @var $form yiiwidgetsActiveForm */ /* @var $model appmodelsLoginForm */ $this->title?=?'Login'; ?> <h1>=?Html::encode($this->title)??></h1> <p>Please?fill?out?the?following?fields?to?login:</p> <?php $form = ActiveForm::begin(); ?> ????=?$form->field($model,?'username')??> ????=?$form->field($model,?'password')->passwordInput()??> ????=?Html::submitButton('Login')??> <?php ActiveForm::end(); ?>
在視圖中,您可以訪問$this,它引用了視圖組件來管理和呈現(xiàn)此視圖模板。
此外$this,視圖中可能還存在其他預(yù)定義變量,例如$model上述示例。這些變量代表由 觸發(fā)視圖渲染的控制器或其他對(duì)象推入視圖的數(shù)據(jù)。
提示:預(yù)定義的變量在視圖的開頭在注釋框中列出,以便IDE可以識(shí)別它們。這也是記錄您的觀點(diǎn)的好方法。