PHP的Yii框架中移除组件所绑定的行为的方法

By admin in 计算机教程 on 2019年8月10日

$name = $this->getAction()->getId(); // action

$component->detachBehaviors();

在控制器里:

也可以移除全部行为:

$name = $action->id;  // action

澳门金沙30064在线网站,您可能感兴趣的文章:

$name = $this->getId();  // controller

$component->detachBehavior('myBehavior1');

在Yiii框架开发中,你可能会要获取当前controlle或action的id,其实很简单,一句代码就实现了,以下是分别在controlle(控制器)和View(视图)中获取当前id的代码。

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框架的PHP程序设计有所帮助。

这上面两种方法,都会调用到 yii\base\Behavior::detach() ,其代码如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门金沙30064在线网站 版权所有