improving namespace autoloading support.
This commit is contained in:
@@ -64,10 +64,8 @@ class Autoloader {
|
||||
// using the PSR-0 standards from that directory; however, we will trim
|
||||
// off the beginning of the namespace to account for files in the root
|
||||
// of the mapped directory.
|
||||
if (isset(static::$namespaces[$namespace]))
|
||||
if ( ! is_null($directory = static::directory($class)))
|
||||
{
|
||||
$directory = static::$namespaces[$namespace];
|
||||
|
||||
return static::load_psr(substr($class, $slash + 1), $directory);
|
||||
}
|
||||
|
||||
@@ -93,6 +91,23 @@ class Autoloader {
|
||||
static::load_psr($class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the directory associated with a given namespaced class.
|
||||
*
|
||||
* @param string $class
|
||||
* @return string
|
||||
*/
|
||||
protected static function directory($class)
|
||||
{
|
||||
foreach (static::$namespaces as $namespace => $directory)
|
||||
{
|
||||
if (starts_with($class, $namespace))
|
||||
{
|
||||
return $directory;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempt to resolve a class using the PSR-0 standard.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user