diff --git a/system/Autoloader/Autoloader.php b/system/Autoloader/Autoloader.php index ca886fb535bf..9a6073d96336 100644 --- a/system/Autoloader/Autoloader.php +++ b/system/Autoloader/Autoloader.php @@ -280,11 +280,13 @@ protected function loadInNamespace(string $class) } foreach ($this->prefixes as $namespace => $directories) { - foreach ($directories as $directory) { - $directory = rtrim($directory, '\\/'); + if (strpos($class, $namespace) === 0) { + $relativeClassPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, strlen($namespace))); - if (strpos($class, $namespace) === 0) { - $filePath = $directory . str_replace('\\', DIRECTORY_SEPARATOR, substr($class, strlen($namespace))) . '.php'; + foreach ($directories as $directory) { + $directory = rtrim($directory, '\\/'); + + $filePath = $directory . $relativeClassPath . '.php'; $filename = $this->includeFile($filePath); if ($filename) {