From 3ba6342cf57871d510a3d74889f59d59a7438ea8 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Sun, 25 Mar 2012 13:23:09 -0500 Subject: [PATCH] fixing loading of namespaced classes. --- laravel/autoloader.php | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/laravel/autoloader.php b/laravel/autoloader.php index 7f457084..20634fea 100644 --- a/laravel/autoloader.php +++ b/laravel/autoloader.php @@ -66,25 +66,23 @@ class_alias(static::$aliases[$class], $class); // If the class namespace is mapped to a directory, we will load the // class using the PSR-0 standards from that directory accounting // for the root of the namespace by trimming it off. - $namespace = root_namespace($class).'\\'; - - if (isset(static::$namespaces[$namespace])) + foreach (static::$namespaces as $namespace => $directory) { - $directory = static::$namespaces[$namespace]; - - return static::load_namespaced($class, $namespace, $directory); + if (starts_with($class, $namespace)) + { + return static::load_namespaced($class, $namespace, $directory); + } } // If the class uses PEAR-ish style underscores for indicating its // directory structure we'll load the class using PSR-0 standards // standards from that directory, trimming the root. - $namespace = root_namespace($class, '_').'_'; - - if (isset(static::$underscored[$namespace])) + foreach (static::$underscored as $prefix => $directory) { - $directory = static::$underscored[$namespace]; - - return static::load_namespaced($class, $namespace, $directory); + if (starts_with($class, $prefix)) + { + return static::load_namespaced($class, $prefix, $directory); + } } // If all else fails we will just iterator through the mapped