/** * Autoloader. * * <code> * ClassLoader::load(); * </code> * * @access public * @param string $className Class name * @return boolean */ public static function load($className) { $className = ltrim($className, '\\'); /** * Try to autoload an aliased class */ if (isset(ClassLoader::$aliases[$className])) { return class_alias(ClassLoader::$aliases[$className], $className); } /** * Try to load a mapped class */ if (isset(ClassLoader::$classes[$className]) && file_exists(ClassLoader::$classes[$className])) { include ClassLoader::$classes[$className]; return true; } /** * Try to load class from a registered namespace */ foreach (ClassLoader::$namespaces as $namespace => $path) { if (strpos($className, $namespace) === 0) { if (ClassLoader::loadPSR0(substr($className, strlen($namespace)), $path)) { return true; } } } /** * Try to load a PSR-0 compatible class * The second call to the loadPSR0 method is used to autoload legacy code */ if (ClassLoader::loadPSR0($className) || ClassLoader::loadPSR0(strtolower($className))) { return true; } return false; }