From ea7d43b8a4b9ce851341ab32e92bd037c209099a Mon Sep 17 00:00:00 2001 From: Sveneld Date: Wed, 30 Dec 2020 14:59:56 +0200 Subject: [PATCH] fix parsing of multiple directories in psr-4 --- .../PSR4/AutoloadabilityInspectorsFactory.php | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/Suin/Sniffs/Classes/PSR4/AutoloadabilityInspectorsFactory.php b/src/Suin/Sniffs/Classes/PSR4/AutoloadabilityInspectorsFactory.php index 865c80a..9246b9f 100644 --- a/src/Suin/Sniffs/Classes/PSR4/AutoloadabilityInspectorsFactory.php +++ b/src/Suin/Sniffs/Classes/PSR4/AutoloadabilityInspectorsFactory.php @@ -40,20 +40,30 @@ private static function getPsr4Directories( $psr4Directories = []; if (isset($data['autoload']['psr-4'])) { - foreach ($data['autoload']['psr-4'] as $namespace => $dir) { - $psr4Directories[] = new AutoloadabilityInspector( - \dirname($filename) . '/' . $dir, - $namespace - ); + foreach ($data['autoload']['psr-4'] as $namespace => $dirs) { + if (!is_array($dirs)) { + $dirs = [$dirs]; + } + foreach ($dirs as $dir) { + $psr4Directories[] = new AutoloadabilityInspector( + \dirname($filename) . '/' . $dir, + $namespace + ); + } } } if (isset($data['autoload-dev']['psr-4'])) { - foreach ($data['autoload-dev']['psr-4'] as $namespace => $dir) { - $psr4Directories[] = new AutoloadabilityInspector( - \dirname($filename) . '/' . $dir, - $namespace - ); + foreach ($data['autoload-dev']['psr-4'] as $namespace => $dirs) { + if (!is_array($dirs)) { + $dirs = [$dirs]; + } + foreach ($dirs as $dir) { + $psr4Directories[] = new AutoloadabilityInspector( + \dirname($filename) . '/' . $dir, + $namespace + ); + } } } return new AutoloadabilityInspectors(...$psr4Directories);