/ * with an accompanying config.yaml that declares name, label and priority. * The collector is populated by {@see \TYPO3\CMS\Form\DependencyInjection\FormYamlCollectorConfigurator} * and provides a priority-sorted list of file paths to {@see ConfigurationManager}. * * @internal */ final class FormYamlCollector { /** @var list */ private array $configurations = []; public function add(FormYamlConfiguration $configuration): void { $this->configurations[] = $configuration; } /** * Returns all registered file paths sorted by ascending priority * (lower = loaded first = acts as base, higher = override). * * @return list */ public function getPaths(): array { $sorted = $this->configurations; usort($sorted, static fn(FormYamlConfiguration $a, FormYamlConfiguration $b): int => $a->priority <=> $b->priority); return array_values(array_map( static fn(FormYamlConfiguration $c): string => $c->path, $sorted )); } /** * Returns all registered configurations, regardless of priority. * Useful for diagnostic/debug purposes. * * @return list */ public function getAllConfigurations(): array { return array_values($this->configurations); } }