Ведь в массиве _attached хранится связка eventName - $function.
И отсоединяется Observer-функция конкретного события $eventName. Значит $eventName - не ключ?
static public function attach($eventName, $function)
{
self::$_attached[$eventName][] = $function;
}
/**
* Detach observer
* @param string $eventName event name
* @param string $function function name
*
* <code>
* $function = 'my_function';
* // Detach observer $function from event 'Class.onBeforeDelete'
* Core_Event::detach('Class.onBeforeDelete', $function);
* </code>
*/
static public function detach($eventName, $function)
{
if (isset(self::$_attached[$eventName]))
{
foreach (self::$_attached[$eventName] AS $key => $value)
{
if ($function === $value)
{
unset(self::$_attached[$eventName][$key]);
}
}
}
}