diff --git a/src/ResourceMap.php b/src/ResourceMap.php index 8094ea2..3a0d603 100644 --- a/src/ResourceMap.php +++ b/src/ResourceMap.php @@ -262,6 +262,31 @@ public function isClass($path, &$class = '', &$extends = '') 'path' => $path, 'className' => $class, ]; + + // Handle implements interfaces + if (array_key_exists('implements', $matches)) { + // Store implementing interface + $implements = explode(',', trim($matches['implements'])); + + $this->classData[$path]['implements'] = []; + + foreach ($implements as $implement) { + $implement = trim($implement); + // If we have alias for this class + if (isset($usesAliases[$implement])) { + // Get full class name + $implement = $usesAliases[$implement]; + // Get full class name + } elseif (isset($usesNamespaces[$implement])) { + $implement = $usesNamespaces[$implement]; + // If there is no namespace + } elseif (strpos($implement, '\\') === false) { + $implement = $namespace . $implement; + } + + $this->classData[$path]['implements'][] = $implement; + } + } if (array_key_exists('parent', $matches)) { // Store parent class @@ -290,31 +315,6 @@ public function isClass($path, &$class = '', &$extends = '') } } - // Handle implements interfaces - if (array_key_exists('implements', $matches)) { - // Store implementing interface - $implements = explode(',', trim($matches['implements'])); - - $this->classData[$path]['implements'] = []; - - foreach ($implements as $implement) { - $implement = trim($implement); - // If we have alias for this class - if (isset($usesAliases[$implement])) { - // Get full class name - $implement = $usesAliases[$implement]; - // Get full class name - } elseif (isset($usesNamespaces[$implement])) { - $implement = $usesNamespaces[$implement]; - // If there is no namespace - } elseif (strpos($implement, '\\') === false) { - $implement = $namespace . $implement; - } - - $this->classData[$path]['implements'][] = $implement; - } - } - // Add class to classes array $this->classes[$path] = $class;