public static function loadFromHandle($handle) { if (!is_array(self::$formatters)) { self::$formatters = array(); } if (!self::$iterator instanceof TextFormatterIterator) { self::$iterator = new TextFormatterIterator(); } self::$iterator->rewind(); if (in_array($handle, array_values(self::$formatters))) { $tmp = array_flip(self::$formatters); return new $tmp[$handle](); } foreach (self::$iterator as $tf) { if (basename($tf) == "{$handle}.php") { return self::load($tf); } } throw new TextFormatterException("No such Formatter '{$handle}'"); }