widgets
widgets
widgets有掛件、微件的意思
簡單的說就是一個微型的控制器
建立目錄
1、在專案目錄下建立 widgets
目錄
2、下widgets目錄下建立 views
目錄
建立widgets
userWidget
class userWidget extends CWidget{
public $num = 20;
public function init() {
}
public function run() {
$users = $this->getUsers();
$this->render('userwidget',array(
'users'=>$users
));
}
protected function getUsers()
{
return Yii::app()->db->createCommand()->select('id,username,ctime')->from('user')->limit($this->num)->queryAll();
}
}
userWidget2
class userWidget2 extends CWidget{
public function init() {
echo CHtml::beginForm("", "POST");
}
public function input($name,$value = "",$label = "")
{
$label = $label===""?$name:$label;
echo CHtml::label($label.':', $name);
echo CHtml::textField($name,$value);
}
public function run() {
echo CHtml::endForm();
}
}
建立widgets檢視
userwidget.php
<table>
<tr><th>id</th><th>username</th><th>date</th></tr>
<?php foreach($users as $v):?>
<tr><td><?=$v['id'];?></td><td><?=$v['username'];?></td><td><?=$v['ctime'];?></td></tr>
<?php endforeach;?>
</table>
使用
需要注意的是:
1、widget渲染的檢視,$this指向當前widget,要想使用當前controller就要 Yii::App()->controller
2、傳遞的引數 可以初始化對應的 對應的公開屬性
3、widgets的第二種執行方式,beginWidget對應init(),endWidget對應run()
<h1>呼叫當前controller測試</h1>
<?php echo Yii::app()->controller->createUrl("test");?>
<h1>第一種使用方式</h1>
<?php $this->widget('application.widgets.userWidget',array('num'=>6));?>
<h2>第二種使用方式</h2>
<?php $form = $this->beginWidget('application.widgets.userWidget2');?>
<?php $form->input('username');?>
<?php $this->endWidget();?>
相關文章
- Flutter Widgets 之 RichTextFlutter
- Flutter Widgets 之 SnackBarFlutter
- Flutter 初探(二):基礎類Widgets和佈局類Widgets上手Flutter
- Flutter Widgets 之 ShaderMaskFlutter
- Flutter Widgets 之 ListWheelScrollViewFlutterView
- Flutter 初探(三):容器類WidgetsFlutter
- Flutter可滾動Widgets-ListViewFlutterView
- Flutter 初探(四):滾動類WidgetsFlutter
- Flutter Widgets 對話方塊-DialogFlutter
- 藍芽的基本widgets教程-Transform篇藍芽ORM
- QT Widgets模組原始碼解析與技巧QT原始碼
- [譯] Flutter,什麼是 Widgets、RenderObjects 和 Elements?FlutterObject
- Flutter 基礎Widgets之AppBar詳解FlutterAPP
- Flutter入門進階之旅(三)Text WidgetsFlutter
- Flutter - 手寫體widgets之wired_elementsFlutter
- 【Flutter 專題】100 何為 Flutter Widgets ?Flutter
- IBM Lotus Symphony 七種兵器之 WidgetsIBM
- QT Widgets模組原始碼解析與實踐QT原始碼
- Custom Widgets in Flutter | Flutter 沙龍回顧(視訊)Flutter
- Flutter 基礎Widgets之容器Container詳解FlutterAI
- Flutter 基礎佈局Widgets之Expanded詳解Flutter
- Flutter 基礎佈局Widgets之Stack詳解Flutter
- Flutter 基礎佈局Widgets之Row詳解Flutter
- Flutter 基礎佈局Widgets之Align詳解Flutter
- Flutter 基礎佈局Widgets之FittedBox詳解Flutter
- Qt 編譯qt-material-widgets皮膚的方法QT編譯
- 6.5 可停靠控制元件及工具欄(Dock Widgets and Toolbars)控制元件
- zqt_helper 輕鬆開發Qt5 Widgets應用QT
- PyQt-Fluent-Widgets:一個 Fluent Design 風格的元件庫QT元件
- 初略講解基礎Widgets之Widget、StatelessWidget和StatefulWidget
- iOS-Widgets小元件-Today Extension和主App之間的簡單資料共享iOS元件APP
- 從0開始寫一個基於Flutter的開源中國客戶端(3)——初識Flutter & 常用的WidgetsFlutter客戶端
- win10系統開機出現Qt5widgets_Ad_5.dll沒有在被指定的Windows上執行如何解決Win10QTWindows