propertyDescribers = $propertyDescribers; } public function describe(Type $type, OA\Schema $property, array $groups = null) { $type = $type->getCollectionValueType(); if (null === $type) { throw new \LogicException(sprintf('Property "%s" is an array, but its items type isn\'t specified. You can specify that by using the type `string[]` for instance or `@SWG\Property(type="array", @SWG\Items(type="string"))`.', $property->title)); } $property->type = 'array'; $property = Util::getChild($property, OA\Items::class); foreach ($this->propertyDescribers as $propertyDescriber) { if ($propertyDescriber instanceof ModelRegistryAwareInterface) { $propertyDescriber->setModelRegistry($this->modelRegistry); } if ($propertyDescriber->supports($type)) { $propertyDescriber->describe($type, $property, $groups); break; } } } public function supports(Type $type): bool { return $type->isCollection(); } }