/** * @param ScaffolderConfig $config */ public function perform(ScaffolderConfig $config) { /** * @var RequestDeclaration $declaration */ $declaration = $this->createDeclaration(['parent' => RequestFilter::class]); $declaration->setMapping($config->getMapping(static::ELEMENT)); foreach ($this->option('field') as $field) { list($field, $type, $source, $origin) = $this->parseField($field); $declaration->declareField($field, $type, $source, $origin); } $this->writeDeclaration($declaration->normalize()); }