Heim > Artikel > Backend-Entwicklung > PHP-Entwicklungsframework Yii Framework-Tutorial (9) UI-Widget Widget-Übersicht
Wie übliche Anwendungsentwicklungs-Frameworks bietet Yii Framework auch eine Reihe von UI-Widgets (CWidget), um Programmierern beim Entwerfen von Benutzeroberflächen zu helfen. Das Widget ist eine Instanz von CWidget oder seiner Unterklasse. Es wird hauptsächlich zur Darstellung von Datengruppen verwendet werden oft in eine Ansicht eingebettet, um eine komplexe und unabhängige Benutzeroberfläche zu erstellen. Beispielsweise kann ein Kalender-Widget verwendet werden, um eine komplexe Kalenderoberfläche wiederverwendbar zu machen.
Wir können ein Widget entsprechend verwenden zum folgenden Ansichtsskript:
beginWidget('path.to.WidgetClass'); ?>
...Der Inhaltskörper, der vom Widget abgerufen werden kann...
endWidget();
widget ('path.to.WidgetClass'); ? >;
-Widget kann so konfiguriert werden, dass seine Leistung angepasst wird. Dies erfolgt durch den Aufruf von CBaseController::beginWidget Festlegen seines Initialisierungsattributwerts. Wenn wir beispielsweise das CMaskedTextField-Widget verwenden, möchten wir die zu verwendende Maske angeben. Dazu übergeben wir ein Array mit den Initialisierungswerten dieser Eigenschaften. Der Schlüssel des Arrays ist hier der Name des Attributs, und der Wert des Arrays ist der Wert, der dem Attribut des kleinen Objekts entspricht. Wie unten gezeigt:
Ein Widget kann genau wie ein Controller eine eigene Ansicht haben. Standardmäßig befinden sich die Ansichtsdateien des Widgets im Unterverzeichnis „views“ des Verzeichnisses, das die Klassendateien des Widgets enthält. Diese Ansichten können durch Aufruf von CWidget::render() gerendert werden, was dem Controller sehr ähnlich ist. Die Ansicht des Widgets bietet keine Unterstützung für Layoutdateien. Darüber hinaus verweist $this in der Widget-Ansicht auf die Widget-Instanz und nicht auf die Controller-Instanz.$this->widget('CMaskedTextField',array('mask'=>'99/99/9999'));?>继承 CWidget 并覆盖其init() 和 run() 方法,可以定义一个新的小物件: class MyWidget extends CWidget{public function init(){// 此方法会被 CController::beginWidget() 调用}public function run(){// 此方法会被 CController::endWidget() 调用}}
Im vorherigen Artikel „Yii Framework Development Concise Tutorial (8) Using FormModel“ wurde gesagt, dass Benutzerübermittlungsereignisse über CController verarbeitet werden. Analog zu Windows-Desktopanwendungen oder ASP.Net, Yii View (HTML Form). ) Ähnlich wie WinForm oder Asp.Net Page. Die Steuerklasse Controller ähnelt der Ereignisverarbeitungsklasse (Code-Behind) von Windows-Desktopanwendungen oder Asp.Net. Streng genommen ist es nicht sehr angemessen, die Ansicht (HTML-Formular) in Yii mit WinFrom auf dem Windows-Desktop oder der Asp.Net-Seite zu vergleichen. Tatsächlich entspricht der gesamte HTML-Code (oder Textkörper) der Ansicht in Yii WinForm oder Seite. HTML Form ist nur eine Unterklasse von CWidget und entspricht der CActiveForm-UI-Komponente. Darüber hinaus verfügt Yii über integrierte CWidget-Typen:
Darunter CJuiWidget (encapsulated JQuery) und CInputWidget sind weiter unterteilt in For:
In den folgenden Tutorials wird die Verwendung der von Yii zusätzlich zu dieser integrierten Benutzeroberfläche bereitgestellten UI-Widgets einzeln vorgestellt Widgets unterstützt Yii auch benutzerdefinierte UI-Widgets.
Das Obige ist der Inhalt des PHP-Entwicklungsframeworks Yii Framework-Tutorial (9) UI-Widget Widget-Übersicht Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!