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作为Shell脚本语言使用
Oct 09 PHP
PHP Zip解压 文件在线解压缩的函数代码
May 26 PHP
解析ajax事件的调用顺序
Jun 17 PHP
zend framework文件上传功能实例代码
Dec 25 PHP
php使用正则过滤js脚本代码实例
May 10 PHP
PHP中使用sleep函数实现定时任务实例分享
Aug 21 PHP
php实现检查文章是否被百度收录
Jan 27 PHP
部署PHP时的4个配置修改说明
Oct 19 PHP
php进行ip地址掩码运算处理的方法
Jul 11 PHP
php实用代码片段整理
Nov 12 PHP
Laravel框架查询构造器 CURD操作示例
Sep 04 PHP
php优化查询foreach代码实例讲解
Mar 24 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中遍历二维数组的几种方法详解
2013/06/08 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
jquery自定义表格样式
2015/11/23 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
浅谈python中的数字类型与处理工具
2017/08/02 Python
对pandas中to_dict的用法详解
2018/06/05 Python
pandas通过索引进行排序的示例
2018/11/16 Python
linux查找当前python解释器的位置方法
2019/02/20 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
解决tensorflow训练时内存持续增加并占满的问题
2020/01/19 Python
python3 logging日志封装实例
2020/04/08 Python
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
HTML5 CSS3新的WEB标准和浏览器支持
2009/07/16 HTML / CSS
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
后勤主管岗位职责
2014/03/01 职场文书
付款委托书范本
2014/04/04 职场文书
会计个人实习计划书
2014/08/15 职场文书
房产遗嘱范本
2015/08/06 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
五年级语文教学反思
2016/03/03 职场文书
Python实战之OpenCV实现猫脸检测
2021/06/26 Python
Python re.sub 反向引用的实现
2021/07/07 Python