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中cookies使用指南
Mar 16 PHP
Apache+php+mysql在windows下的安装与配置图解(最新版)
Nov 30 PHP
php 静态页面中显示动态内容
Aug 14 PHP
php入门学习知识点一 PHP与MYSql连接与查询
Jul 14 PHP
php中将网址转换为超链接的函数
Sep 02 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
php生成N个不重复的随机数实例
Nov 12 PHP
PHP高级编程实例:编写守护进程
Sep 02 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
php自定义函数实现JS的escape的方法示例
Jul 07 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 PHP
PHP二维数组分页2种实现方法解析
Jul 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 MYSQL 数据备份类
2009/06/19 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
PHP GD库生成图像的几个函数总结
2014/11/19 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
2015/12/14 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
php图片添加文字水印实现代码
2016/03/15 PHP
JavaScript Prototype对象
2009/01/07 Javascript
event对象的方法 兼容多浏览器
2009/06/27 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
Javascript数组操作函数总结
2015/02/05 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
微信小程序实现的绘制table表格功能示例
2019/04/26 Javascript
Vue formData实现图片上传
2019/08/20 Javascript
vue给对象动态添加属性和值的实例
2019/09/09 Javascript
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
使用python加密自己的密码
2015/08/04 Python
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
对Python中type打开文件的方式介绍
2018/04/28 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
python打造爬虫代理池过程解析
2019/08/15 Python
使用PyCharm安装pytest及requests的问题
2020/07/31 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
HTML5标签嵌套规则详解【必看】
2016/04/26 HTML / CSS
大学生四个方面的自我评价
2013/09/19 职场文书
爱国演讲稿500字
2014/05/04 职场文书
教师党员先进性教育自我剖析材料思想汇报
2014/09/24 职场文书
2015年商场工作总结
2015/04/27 职场文书
家长会开场白和结束语
2015/05/29 职场文书
使用php的mail()函数实现发送邮件功能
2021/06/03 PHP
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫