PHP的Yii框架中移除组件所绑定的行为的方法


Posted in PHP onMarch 18, 2016

要移除行为,可以调用 yii\base\Component::detachBehavior() 方法用行为相关联的名字实现:

$component->detachBehavior('myBehavior1');

也可以移除全部行为:

$component->detachBehaviors();

这上面两种方法,都会调用到 yii\base\Behavior::detach() ,其代码如下:

public function detach()
{
  // 这得是个名花有主的行为才有解除一说
  if ($this->owner) {

    // 遍历行为定义的事件,一一解除
    foreach ($this->events() as $event => $handler) {
      $this->owner->off($event, is_string($handler) ? [$this,
        $handler] : $handler);
    }
    $this->owner = null;
  }
}

与 yii\base\Behavior::attach() 相反,解除的过程就是干两件事: 一是将 $owner 设置为 null ,表示这个行为没有依附到任何类上。 二是通过Component的 off() 将绑定到类上的事件hanlder解除下来。一句话,善始善终。

PHP 相关文章推荐
桌面中心(二)数据库写入
Oct 09 PHP
完美解决dedecms中的[html][/html]和[code][/code]问题
Mar 20 PHP
WindowsXP中快速配置Apache+PHP5+Mysql
Jun 05 PHP
一步一步学习PHP(3) php 函数
Feb 15 PHP
php 中英文语言转换类代码
Aug 11 PHP
一些需要禁用的PHP危险函数(disable_functions)
Feb 23 PHP
PHP中使用imagick实现把PDF转成图片
Jan 26 PHP
PHP实现加密的几种方式介绍
Feb 22 PHP
深入剖析PHP中printf()函数格式化使用
May 23 PHP
PHP中list方法用法示例
Dec 01 PHP
PHP生成随机数的方法总结
Mar 01 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
Aug 06 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
Mar 18 #PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
Mar 18 #PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 #PHP
Symfony2函数用法实例分析
Mar 18 #PHP
Symfony2联合查询实现方法
Mar 18 #PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 #PHP
Symfony2创建页面实例详解
Mar 18 #PHP
You might like
mysq GBKl乱码
2006/11/28 PHP
PHP下对数组进行排序的函数
2010/08/08 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
常用js脚本
2006/12/03 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
Node.js如何使用Diffie-Hellman密钥交换算法详解
2017/09/05 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
python验证码识别的实例详解
2016/09/09 Python
Python抓取框架Scrapy爬虫入门:页面提取
2017/12/01 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
基于python实现坦克大战游戏
2020/10/27 Python
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
新西兰Bookabach:查找全球度假屋
2020/12/03 全球购物
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
2014年远程教育工作总结
2014/12/09 职场文书
小学班主任事迹材料
2014/12/17 职场文书
五好家庭事迹材料
2014/12/20 职场文书
民事诉讼代理词
2015/05/25 职场文书
react如何快速设置文件路径别名
2021/04/28 Javascript
python中字符串String及其常见操作指南(方法、函数)
2022/04/06 Python