prerequisites = new \ArrayObject(); } /** * @param string $prerequisiteClass */ public function add(string $prerequisiteClass): void { if ( !($this->prerequisites[$prerequisiteClass] ?? false) && is_a($prerequisiteClass, PrerequisiteInterface::class, true) ) { $this->prerequisites[$prerequisiteClass] = GeneralUtility::makeInstance( $prerequisiteClass ); } } /** * @return \ArrayObject|\Traversable|PrerequisiteInterface[] */ public function getIterator() { return $this->prerequisites; } }