Browse Source

refactored Component::off().

tags/2.0.0-beta
Qiang Xue 12 years ago
parent
commit
0ee120f5f9
  1. 31
      framework/yii/base/Component.php

31
framework/yii/base/Component.php

@ -406,24 +406,25 @@ class Component extends Object
public function off($name, $handler = null) public function off($name, $handler = null)
{ {
$this->ensureBehaviors(); $this->ensureBehaviors();
if (isset($this->_events[$name])) { if (empty($this->_events[$name])) {
if ($handler === null) { return false;
$this->_events[$name] = []; }
} else { if ($handler === null) {
$removed = false; unset($this->_events[$name]);
foreach ($this->_events[$name] as $i => $event) { return true;
if ($event[0] === $handler) { } else {
unset($this->_events[$name][$i]); $removed = false;
$removed = true; foreach ($this->_events[$name] as $i => $event) {
} if ($event[0] === $handler) {
} unset($this->_events[$name][$i]);
if ($removed) { $removed = true;
$this->_events[$name] = array_values($this->_events[$name]);
} }
return $removed;
} }
if ($removed) {
$this->_events[$name] = array_values($this->_events[$name]);
}
return $removed;
} }
return false;
} }
/** /**

Loading…
Cancel
Save