Skip to content

Commit cc9ce52

Browse files
authored
Merge pull request #8553 from ddevsr/perf-load-namespace
refactor: small improvement in `loadInNamespace` Autoloader
2 parents fcd8597 + 73e7503 commit cc9ce52

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

system/Autoloader/Autoloader.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -280,11 +280,13 @@ protected function loadInNamespace(string $class)
280280
}
281281

282282
foreach ($this->prefixes as $namespace => $directories) {
283-
foreach ($directories as $directory) {
284-
$directory = rtrim($directory, '\\/');
283+
if (strpos($class, $namespace) === 0) {
284+
$relativeClassPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, strlen($namespace)));
285285

286-
if (strpos($class, $namespace) === 0) {
287-
$filePath = $directory . str_replace('\\', DIRECTORY_SEPARATOR, substr($class, strlen($namespace))) . '.php';
286+
foreach ($directories as $directory) {
287+
$directory = rtrim($directory, '\\/');
288+
289+
$filePath = $directory . $relativeClassPath . '.php';
288290
$filename = $this->includeFile($filePath);
289291

290292
if ($filename) {

0 commit comments

Comments
 (0)