Changeset 2229 -- 2010-11-05 21:31:07
- Author
させざき
- Comment
- crazy inteface checking
Diffs
Diggin_Http_Response_Charset/trunk/library/Diggin/Http/Response/Charset/Front/UrlRegex.php
@@ -83,7 +83,7 @@
if (!is_callable($converter) and
!($converter instanceof Diggin_Http_Response_Charset_Converter_ConverterInterface) and
!(is_string($converter)
- and $this->_loadConverter($converter) instanceof Diggin_Http_Response_Charset_Converter_ConverterInterface)) {
+ and $this->_checkInterface($converter) === false)) {
require_once 'Diggin/Http/Response/Charset/Front/Exception.php';
throw new Diggin_Http_Response_Charset_Front_Exception('Invalid Argument');
}
@@ -117,6 +117,17 @@
return new $converter;
}
+ private function _checkInterface($converter)
+ {
+ if (!class_exists($converter)) {
+ require_once 'Zend/Loader.php';
+ $converter = Zend_Loader::loadClass($converter);
+ }
+
+ $reflection = new ReflectionClass($converter);
+ return in_array('Diggin_Http_Response_Charset_Front_ConvertInterface', $reflection->getIntefaceNames());
+ }
+
final public function getDefaultConverter()
{
if (!$this->_defaultConverter) {
Diggin_Http_Response_Charset/trunk/library/Diggin/Http/Response/Charset/Detector/Html.php
@@ -74,7 +74,7 @@
}
/**
- * Get list - Don't use mb_preferred_mime_name()
+ * Get list - against mb_preferred_mime_name()
*
* @return array
*/