CodeIgniter4 icon indicating copy to clipboard operation
CodeIgniter4 copied to clipboard

refactor: small improvement in `loadInNamespace` Autoloader

Open ddevsr opened this issue 1 year ago • 2 comments

Description Move function call in nested loop to outside.

Checklist:

  • [x] Securely signed commits
  • [x] Component(s) with PHPDoc blocks, only if necessary or adds value
  • [ ] Unit testing, with >80% coverage
  • [ ] User guide updated
  • [x] Conforms to style guide

ddevsr avatar Feb 16 '24 18:02 ddevsr

I'm not sure, but the code should be like this?

        foreach ($this->prefixes as $namespace => $directories) {
            if (strpos($class, $namespace) === 0) {
                $relativeClassPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, strlen($namespace)));

                foreach ($directories as $directory) {
                    $directory = rtrim($directory, '\\/');

                    $filePath = $directory . $relativeClassPath . '.php';
                    $filename = $this->includeFile($filePath);

                    if ($filename) {
                        return $filename;
                    }
                }
            }
        }

kenjis avatar Feb 17 '24 02:02 kenjis

I'm not sure, but the code should be like this?

        foreach ($this->prefixes as $namespace => $directories) {
            if (strpos($class, $namespace) === 0) {
                $relativeClassPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, strlen($namespace)));

                foreach ($directories as $directory) {
                    $directory = rtrim($directory, '\\/');

                    $filePath = $directory . $relativeClassPath . '.php';
                    $filename = $this->includeFile($filePath);

                    if ($filename) {
                        return $filename;
                    }
                }
            }
        }

@kenjis Thankyou suggest, l like that cut unused loop directory if not exists class namespace

ddevsr avatar Feb 17 '24 02:02 ddevsr

@ddevsr Thank you!

kenjis avatar Feb 21 '24 01:02 kenjis