>  기사  >  백엔드 개발  >  Yii 프레임워크를 사용하여 구성 요소에 바인딩된 동작을 제거하는 방법

Yii 프레임워크를 사용하여 구성 요소에 바인딩된 동작을 제거하는 방법

不言
不言원래의
2018-06-15 14:08:442046검색

이 글에서는 주로 PHP Yii 프레임워크에서 컴포넌트에 바인딩된 동작을 제거하는 방법을 소개합니다. detachBehavio 메소드를 사용하거나 필요한 모든 동작을 제거할 수 있습니다.

동작을 제거하려면 yiibaseComponent를 호출하면 됩니다. () 메소드는 동작과 관련된 이름으로 구현됩니다:

$component->detachBehavior('myBehavior1');

모든 동작을 제거할 수도 있습니다:

$component->detachBehaviors();

위의 두 메소드는 yiibaseBehavior::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;
  }
}

yiibaseBehavior::attach()와 달리 차단 해제 프로세스는 두 가지 작업을 수행하는 것입니다. 먼저 $owner를 null로 설정하여 이 동작이 어떤 클래스에도 연결되지 않음을 나타냅니다. 두 번째는 Component의 off()를 통해 클래스에 바인딩된 이벤트 핸들러를 해제하는 것입니다. 한마디로 시작이 좋고 끝이 좋다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

YII가 URL 구성 요소를 사용하여 관리를 아름답게 하는 방법

Yii를 통해 다양한 유형의 사서함 수를 계산하는 방법

위 내용은 Yii 프레임워크를 사용하여 구성 요소에 바인딩된 동작을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:ThinkPHP 관련 요약다음 기사:ThinkPHP 관련 요약