public static function switchMode($mode) { if (self::$_locked || self::isForced()) { return; } $previousMode = self::$_mode; self::$_mode = strtolower(trim($mode)); switch (self::$_mode) { case self::DEBUG_MODE_OFF: self::disable(); break; case self::DEBUG_MODE_SILENT: case self::DEBUG_MODE_ON: case self::DEBUG_MODE_AUTO: self::auto(); break; case self::DEBUG_MODE_FORCE: self::enable(); break; default: $badMode = self::$_mode; self::$_mode = $previousMode; throw new Exception("Unknown Debug Mode: {$badMode}"); } }