ホームページ  >  記事  >  バックエンド開発  >  Yii フレームワークを使用してコンポーネントにバインドされた動作を削除する方法

Yii フレームワークを使用してコンポーネントにバインドされた動作を削除する方法

不言
不言オリジナル
2018-06-15 14:08:442046ブラウズ

この記事では、PHP の Yii フレームワークでコンポーネントにバインドされているビヘイビアーを削除する方法を主に紹介します。 detachBehavio メソッドを使用するか、すべてのビヘイビアーを削除する必要がある場合は、次のビヘイビアーを削除する方法を参照してください。これは、動作に関連付けられた名前を使用して yii\base\Component::detachBehavior() メソッドを呼び出すことで実装できます:

$component->detachBehavior('myBehavior1');

すべての動作を削除することもできます:

$component->detachBehaviors();

上記の 2 つのメソッドは 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() とは異なり、ブロック解除のプロセスでは 2 つのことを行います。 まず、$owner を null に設定し、この動作がアタッチされていないことを示します。どのクラスよりも優れた者に。 2 つ目は、コンポーネントの off() を通じてクラスにバインドされているイベント ハンドラーを解放することです。一言で言えば、良く始まり良く終わる。

以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

URL コンポーネントを使用して YII の管理を美しくする方法

##さまざまな種類のメールボックスの数をカウントする方法そうだね


以上がYii フレームワークを使用してコンポーネントにバインドされた動作を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。