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缓存技术的使用说明
Aug 06 PHP
pdo中使用参数化查询sql
Aug 11 PHP
PHP中PDO基础教程 入门级
Sep 04 PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 PHP
php实现多城市切换特效
Aug 09 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
Mar 30 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
PHP常用的三种设计模式
Feb 17 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
Laravel如何创建服务器提供者实例代码
Apr 15 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 国漫
PHP array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
QQ登录 PHP OAuth示例代码
2011/07/20 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
PHP中串行化用法示例
2016/11/16 PHP
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
ExtJS TabPanel beforeremove beforeclose使用说明
2010/03/31 Javascript
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
微信小程序button标签open-type属性原理解析
2020/01/21 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
Python编程判断这天是这一年第几天的方法示例
2017/04/18 Python
详解Python 中sys.stdin.readline()的用法
2019/09/12 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
Python扫描端口的实现
2021/01/25 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
2021/03/02 Python
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
招商业务员岗位职责
2013/12/16 职场文书
小学优秀教师材料
2014/12/15 职场文书
社区节水倡议书
2015/04/29 职场文书
文化苦旅读书笔记
2015/06/29 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书