$namespace . basename($item, '.php'), $controllers); $output = []; foreach ($classes as $class) { $r = new ReflectionClass($class); $rawAttrs = $r->getAttributes(); $cAttrs = []; foreach ($rawAttrs as $attr) { $cAttrs[$attr->getName()][] = $attr->newInstance(); } $methods = []; foreach ($r->getMethods() as $method) { $attributes = []; foreach ($method->getAttributes(Attribute\Route::class, ReflectionAttribute::IS_INSTANCEOF) as $attribute) { $attributes[$attribute->getName()][] = $attribute->newInstance(); } if ( ! empty($attributes)) { $methods[$method->getName()] = $attributes; } } $key = $r->getName(); $output[$key] = []; if ( ! (empty($cAttrs) && empty($methods))) { if ( ! empty($cAttrs)) { $output[$key]['attributes'] = $cAttrs; } if ( ! empty($methods)) { $output[$key]['methods'] = $methods; } } } print_r($output);