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 相关文章推荐
PHP:风雨欲来 路在何方?
Oct 09 PHP
多重?l件?合查?(一)
Oct 09 PHP
基于PHP输出缓存(output_buffering)的深入理解
Jun 13 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
Jul 22 PHP
PHP中开启gzip压缩的2种方法
Jan 31 PHP
php网页版聊天软件实现代码
Aug 12 PHP
PHP生成及获取JSON文件的方法
Aug 23 PHP
Yii2实现UploadedFile上传文件示例
Feb 15 PHP
php解析mht文件转换成html的实例
Mar 13 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 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
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
php实现telnet功能示例
2014/04/08 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
使用npm发布Node.JS程序包教程
2015/03/02 Javascript
删除javascript所创建子节点的方法
2015/05/21 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
vue实现打印功能的两种方法
2018/09/07 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
Python实现优先级队列结构的方法详解
2016/06/02 Python
基于Python闭包及其作用域详解
2017/08/28 Python
python爬虫获取淘宝天猫商品详细参数
2020/06/23 Python
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
台湾三立电视电商平台:电电购
2019/09/09 全球购物
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
ShellScript面试题一则-ShellScript编程
2014/03/05 面试题
大学生就业自荐信
2013/10/26 职场文书
银行实习鉴定
2013/12/13 职场文书
电子商务专业个人的自我评价
2013/12/19 职场文书
《庐山的云雾》教学反思
2014/04/22 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
《正比例》教学反思
2016/02/23 职场文书
六年级作文之预言作文
2019/10/25 职场文书
redis缓存存储Session原理机制
2021/11/20 Redis
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL