浏览代码

[ZF-7918] Zend_Filter:

- fixed warning when using multiple namespaces on loading

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@18379 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 年之前
父节点
当前提交
0374a959aa
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. 7 1
      library/Zend/Filter.php

+ 7 - 1
library/Zend/Filter.php

@@ -166,16 +166,22 @@ class Zend_Filter implements Zend_Filter_Interface
     public static function filterStatic($value, $classBaseName, array $args = array(), $namespaces = array())
     {
         require_once 'Zend/Loader.php';
+        require_once 'Zend/Loader/Autoloader.php';
         $namespaces = array_merge((array) $namespaces, self::$_defaultNamespaces, array('Zend_Filter'));
         foreach ($namespaces as $namespace) {
             $className = $namespace . '_' . ucfirst($classBaseName);
             if (!class_exists($className)) {
                 try {
-                    Zend_Loader::loadClass($className);
+                    if (Zend_Loader_Autoloader::autoload($className)) {
+                        Zend_Loader::loadClass($className);
+                    } else {
+                        continue;
+                    }
                 } catch (Zend_Exception $ze) {
                     continue;
                 }
             }
+
             $class = new ReflectionClass($className);
             if ($class->implementsInterface('Zend_Filter_Interface')) {
                 if ($class->hasMethod('__construct')) {