Yii_Widget_how_to_use_使用
1. 调用Widget
-
<?php
$this
->widget(
'WidgetName'
); ?>
或者
-
<?php
$widget
=
$this
->beginWidget(
'path.to.WidgetClass'
); ?>
-
...可能会由小物件获取的内容主体...
-
<?php $this
->endWidget(); ?>
也可以传参到Widget类
-
<?php
$userId
= 1; ?>
-
<?php $this
->widget(
'WidgetName'
,
array
(
'userId'
=>
$userId
)); ?>
参数userId自动映射到Widget类的同名属性,所以在定义Widget时,别忘记了声明该属性。
2. 创建Widget
自定义Widget类要继承CWidget,覆盖方法run
-
<?php
-
class
BannerMagic
extends
CWidget {
-
public
function
run(){
-
}
-
}
或者:
-
class
MyWidget
extends
CWidget {
-
public
function
init() {
-
-
}
-
public
function
run() {
-
-
}
-
}
下面是是BannerMagicWidget实现
-
<?php
class
BannerMagicWidget
extends
CWidget {
-
public
function
run() {
-
$random
= rand(1,3);
-
if
(
$random
== 1) {
-
$advert
=
"advert1.jpg"
;
-
} else
if
(
$random
== 2) {
-
$advert
=
"advert2.jpg"
;
-
} else
{
-
$advert
=
"advert3.jpg"
;
-
}
-
$this
->render(
'bannermagic'
,
array
(
-
"advert"
=>
$advert
,
-
));
-
}
-
}
存储到protected\components\BannerMagicWidget.php
对应的view文件可能的内容如下:
-
<img src=
"images/adverts/<?php echo $advert; ?>"
alt=
"whatever"
/>
存储到protected\components\views\bannermagic.php
Widget视图的目录:
这里注意:widget类中也可以像controller一样使用视图,视图的位置:Widget类所在的目录/views/,不是在protected的iews下面。
官方文档真nnd晦涩,刚才我用中文也不容易表达:By default, widget
view files are located under the views
subdirectory of the directory
containing the widget class file.
结果看看源码才懂:
$className=get_class($this);
$class=new ReflectionClass($className);
$path = dirname($class->getFileName()).DIRECTORY_SEPARATOR.'views';
3. 调用该Widget
-
<?php
$this
->widget(
'BannerMagicWidget'
); ?>
大部分来源:http://koda.iteye.com/blog/1134606,有改动和增加。
分享到:
相关推荐
Yii_PHP_框架源码分析 Yii_PHP_框架源码分析 Yii_PHP_框架源码分析 Yii_PHP_框架源码分析
yii_rapid_application_development_hotshot.zip
Yii_PHP_Framework 实用入门教程
yii 自定义widget地址联动
Yii_权威指南, 很不错的yii教程
Yii 框架 php编程框架 MVC 十分简洁方便的开发框架
yii-basic-app-admin-LTE 0.5 _cotton3jv_basic_yii_源
Yii框架使用redis插件之一,提供给同学们一起学习
第一次学yii框架,就简单做了一个博客系统
学习yii框架基本操作手册,从入门、简介、入口文件、配置、控制器、视图、模型等等。
yii 技术文档,随查随得,提高工作效率
PHP的框架结构分析,这个分析文件是基础中的基础,PHP程序员必备
发布说明 此手册基于官方中文手册,并根据 The Definite Guide to Yii 的内容新增了部分翻译。同时校对了原中文手册中部分翻译内 容。 注:常用扩展手册是附加的部分。官方手册没有这一部分。
Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。
CURSO COMPLETO yii-basic-app-admin-LTE 0.5
yii_swoole_task在YII框架中结合了swoole 的task 做了异步处理。本例中 主要用到1、protected/commands/ServerCommand.php 用来做server。2、protected/event/下的文件 这里是在异步中的具体实现。客户端调用参照 ...
很好的工具书和代码 yii1.1_application_development_cookbook_code.zip ,适用于yii和php学习
php 开发博客,blog自己开发,,很详细的教程
yii-advanced-app-2.0.4 下载
agile_web_application_development_with_yii1.1_and_php5_code.zip