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 相关文章推荐
Win2003服务器安全加固设置--进一步提高服务器安全性
May 23 PHP
通过缓存数据库结果提高PHP性能的原理介绍
Sep 05 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
Jun 24 PHP
用PHP代码在网页上生成图片
Jul 01 PHP
ThinkPHP进程计数类Process用法实例详解
Sep 25 PHP
php猜单词游戏
Sep 29 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
PHPstorm快捷键(分享)
Jul 17 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
彻底搞懂PHP 变量结构体
Oct 11 PHP
PHP小程序支付功能完整版【基于thinkPHP】
Mar 26 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
海贼王:最美的悬赏令!
2020/03/02 日漫
S900/ ETON E1-XM 收音机
2021/03/02 无线电
php读取30天之内的根据算法排序的代码
2008/04/06 PHP
php后退一页表单内容保存实现方法
2012/06/17 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
javascript 类方法定义还是有点区别
2009/04/15 Javascript
让IE8支持DOM 2(不用框架!)
2009/12/31 Javascript
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
基于jQuery的js分页代码
2010/06/10 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
Vuejs实现购物车功能
2017/11/05 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
js实现坦克大战游戏
2020/02/24 Javascript
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
python在每个字符后添加空格的实例
2018/05/07 Python
对python中的高效迭代器函数详解
2018/10/18 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
Python PIL库图片灰化处理
2020/04/07 Python
Python DES加密实现原理及实例解析
2020/07/17 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
德国户外商店:eXXpozed
2020/07/25 全球购物
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
小学教师节活动方案
2014/01/31 职场文书
清明节演讲稿
2014/05/27 职场文书
党员示范岗材料
2014/12/19 职场文书
教师个人师德总结
2015/02/06 职场文书
家装业务员岗位职责
2015/04/03 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python