Allow stacking multiple replacements for the same pattern
authorChuck Hagenbuch <chuck@horde.org>
Wed, 14 Jan 2009 16:51:32 +0000 (11:51 -0500)
committerChuck Hagenbuch <chuck@horde.org>
Wed, 14 Jan 2009 16:51:32 +0000 (11:51 -0500)
framework/Autoloader/lib/Horde/Autoloader.php

index bdeabab..539d523 100644 (file)
@@ -18,7 +18,9 @@ class Horde_Autoloader
      *
      * @var array
      */
-    protected static $_classPatterns = array('/^Horde_/' => 'Horde/');
+    protected static $_classPatterns = array(
+        array('/^Horde_/', 'Horde/'),
+    );
 
     /**
      * Autoload implementation automatically registered with
@@ -34,7 +36,8 @@ class Horde_Autoloader
      */
     public static function loadClass($class)
     {
-        foreach (self::$_classPatterns as $pattern => $replace) {
+        foreach (self::$_classPatterns as $classPattern) {
+            list($pattern, $replace) = $classPattern;
             $file = $class;
 
             if (!is_null($replace)) {
@@ -90,7 +93,7 @@ class Horde_Autoloader
      */
     public static function addClassPattern($pattern, $replace = null)
     {
-        self::$_classPatterns[$pattern] = rtrim($replace, '/') . '/';
+        self::$_classPatterns[] = array($pattern, rtrim($replace, '/') . '/');
     }
 
 }