use Symfony\Component\OptionsResolver\OptionsResolver; $optionsResolver = new OptionsResolver(); $optionsResolver->setDefined(['name', 'email']); $options = ['name' => 'John Doe', 'email' => 'johndoe@example.com', 'phone' => '1234567890']; $options = $optionsResolver->resolve($options); // $options will only contain 'name' and 'email' keys as passed in setDefined method
$optionsResolver->setDefined('name'); $optionsResolver->setDescription('Name of the user. Only alphabets allowed.'); $options = ['name' => 'John123']; $options = $optionsResolver->resolve($options); // Error will be raised as 'name' contains numeric characters which are not allowed as per the descriptionIn conclusion, Symfony\Component\OptionsResolver package library provides useful methods like setDefined and describe for mapping and resolving options and their values.