24.Yii 组件行为
来源:互联网 发布:perl encode json 编辑:程序博客网 时间:2024/06/03 14:24
1.先定义一个 行为类:class ApplicationBehavior extends CBehavior{ public function beginRequest123($event) { echo "我已经将 onBeginRequest 的事件处理通过行为绑定了123"; var_dump($event); }}
调用时,通过 $component->行为方法() ,调用__call()
如果是行为的属性的话,可以通过如下访问:$app = Yii::createWebApplication($config);$ret = $app->attachBehavior('app', 'application.behaviors.ApplicationBehavior');echo $app->a;
在 Yii 里面,通过行为类绑定,组件将一个或多个 CBehavior 类的成员方法和成员变量添加到自己身上,并且在不需要的时候载掉某些 CBehavior 类。同时,可以通过重写 CBehavior::events 的方法,来实现对目标类的多个事件绑定。这些事件将会在当前行为绑定到目标类的时候,一起被绑定上。下面我们以代码来具体看一下这个行为特性。在 protected 创建目录 behaviors,并在protected/behaviors目录下创建ApplicationBehavior.php,输入如下代码:class ApplicationBehavior extends CBehavior{ public function events() { return array_merge(parent::events(), array( 'onBeginRequest' => 'beginRequest123' )); } public function beginRequest123($event) { echo "我已经将 onBeginRequest 的事件处理通过行为绑定了"; var_dump($event); }}
此行为文件,是要为 CApplication 服务,仔细查看这个行为文件,我们可以看到,events 方法定义了些行为可以处理的事件,上面的类,可以处理 onBeginRequest 事件,当然如果你自己定义的组件也有一个叫做 onBeginRequest 方法,你也可以使用此行为后面的 beginRequest 就是事件的处理函数,这个处理函数必须要有行为类中定义。
行为与事件绑定
$this->_owner->attachEventHandler($event,array($this,$handler));// $event 事件名,array($this,$handle) 类名,方法
getEventHandlers() 返回的是 CList 类后面调用 CList 类的 add() 方法,将 event handle 添加进去
http://www.yiichina.com/doc/guide/1.1/basics.component
http://blog.csdn.net/chengfei112233/article/details/7659768
0 0
- 24.Yii 组件行为
- 【Yii】组件和事件行为管理
- YII框架分析笔记2:组件和事件行为管理
- yii 组件
- yii 组件
- Yii行为(混合)
- YII框架的行为
- PHP的Yii框架中移除组件所绑定的行为的方法
- 【Yii框架】YII分页组件
- yii 行为Behavior的使用
- Yii核心应用组件
- Yii 之组件
- Yii核心应用组件
- yii user组件
- yii 分页组件
- YII 组件 CActiveForm
- Yii建立组件
- yii 应用组件
- Spring Boot Web应用开发 Servlets、Filters、listeners
- 夕拾算法初级篇:8) C语言-数字交换
- 【leetcode】【Easy】【455. Assign Cookies】【greedy】
- 北京的雾霾是大风吹走的吗
- Note7燃损原因公布三星加强安全性保障未来产品安全
- 24.Yii 组件行为
- Health Endpoint Monitoring模式
- Merge Sorted Array
- Python零基础入门二十七之GUI组件
- 为什么要写博客?
- 我的2016年终总结(PF项目框架设计心得分享 2.0rc)
- 论学历与出身
- UVa1586 分子量 算法竞赛入门经典第二版CH-3习题3-2
- Maven学习总结:几个常用的maven插件