9 use Symfony\Component\Console\Input\InputInterface;
10 use Symfony\Component\Console\Input\InputArgument;
32 if ($input->getArgument(self::INPUT_KEY_INDEXERS)) {
33 $requestedTypes = $input->getArgument(self::INPUT_KEY_INDEXERS);
34 $requestedTypes = array_filter(array_map(
'trim', $requestedTypes),
'strlen');
37 if (empty($requestedTypes)) {
38 $indexers = $this->getAllIndexers();
40 $availableIndexers = $this->getAllIndexers();
41 $unsupportedTypes = array_diff($requestedTypes, array_keys($availableIndexers));
42 if ($unsupportedTypes) {
43 throw new \InvalidArgumentException(
44 "The following requested index types are not supported: '" . join(
"', '", $unsupportedTypes)
45 .
"'." . PHP_EOL .
'Supported types: ' . join(
", ", array_keys($availableIndexers))
48 $indexers = array_intersect_key($availableIndexers, array_flip($requestedTypes));
63 self::INPUT_KEY_INDEXERS,
64 InputArgument::OPTIONAL | InputArgument::IS_ARRAY,
65 'Space-separated list of index types or omit to apply to all indexes.'
getIndexers(InputInterface $input)