= 0; $i--) { static::$parentPath = dirname(static::$parentPath); } static::$paths = []; static::$files = [__FILE__]; } public static function register($path, $namespace) { if (!static::$initialized) { static::initialize(); } static::$paths[$namespace] = trim($path, DIRECTORY_SEPARATOR); } public static function load($class) { if (class_exists($class, false)) { return; } if (!static::$initialized) { static::initialize(); } foreach (static::$paths as $namespace => $path) { if ( !$namespace || $namespace . static::$nsChar === substr($class, 0, strlen($namespace . static::$nsChar)) ) { $fileName = substr($class, strlen($namespace . static::$nsChar) - 1); $fileName = str_replace( static::$nsChar, DIRECTORY_SEPARATOR, ltrim($fileName, static::$nsChar), ); $fileName = static::$parentPath . DIRECTORY_SEPARATOR . $path . DIRECTORY_SEPARATOR . $fileName . ".php"; if (file_exists($fileName)) { include $fileName; return true; } } } return false; } } spl_autoload_register(["Loader", "load"]);