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
如何用phpmyadmin设置mysql数据库用户的权限
Jan 09 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
Jun 02 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
Apr 03 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
php远程下载类分享
Apr 13 PHP
WordPress过滤垃圾评论的几种主要方法小结
Jul 11 PHP
php操作access数据库的方法详解
Feb 22 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 PHP
laravel config文件配置全局变量的例子
Oct 13 PHP
Laravel登录失败次数限制的实现方法
Aug 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
php编写简单的文章发布程序
2015/06/18 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
2016/01/08 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
js获取php变量的实现代码
2013/08/10 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
spyder常用快捷键(分享)
2017/07/19 Python
Python及PyCharm下载与安装教程
2017/11/18 Python
python实现根据文件格式分类
2019/10/31 Python
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
机械专业应届生求职信
2013/09/21 职场文书
自我评价是什么
2014/01/04 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
保护校园环境倡议书
2015/04/28 职场文书
老兵退伍感言
2015/08/03 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书
Python利用zhdate模块实现农历日期处理
2022/03/31 Python