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中$_SERVER的详细参数与说明
Jul 29 PHP
PHP函数spl_autoload_register()用法和__autoload()介绍
Feb 04 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
PHP 中关于ord($str)>0x80的详细说明
Sep 23 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
Sep 30 PHP
PHP基础教程(php入门基础教程)一些code代码
Jan 06 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
你不知道的文件上传漏洞php代码分析
Sep 29 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
PHP7变量处理机制修改
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 Switch 语句之学习笔记
2013/09/21 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
php 如何禁用eval() 函数实例详解
2016/12/01 PHP
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
2010/03/23 Javascript
Jquery Ajax的Get方式时需要注意URL地方
2011/04/07 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
ext combobox动态加载数据库数据(附前后台)
2014/06/17 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
微信小程序 首页制作简单实例
2017/04/07 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
微信小程序左滑删除功能开发案例详解
2018/11/12 Javascript
Node.js+ELK日志规范的实现
2019/05/23 Javascript
JavaScript实现刮刮乐效果
2020/11/01 Javascript
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
python3 pathlib库Path类方法总结
2019/12/26 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
英国最大的奢侈珠宝和手表网站:C W Sellors
2017/02/10 全球购物
中国高端家电购物商城:顺电
2018/03/04 全球购物
运动会稿件200字
2014/02/07 职场文书
幼儿园元旦亲子活动方案
2014/02/17 职场文书
施工员岗位职责
2014/03/16 职场文书
公职人员索取回扣检举信
2014/04/04 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
工商管理本科生求职信
2014/07/13 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
试用期自我评价怎么写
2015/03/10 职场文书
施工安全员岗位职责
2015/04/11 职场文书
python中的3种定义类方法
2021/11/27 Python