+++ /dev/null
-<?php
-namespace Consolidation\TestUtils;
-
-use Consolidation\AnnotatedCommand\AnnotatedCommand;
-
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Output\OutputInterface;
-
-/**
- * Test file used in the Annotation Factory tests. It is also
- * discovered in the testCommandDiscovery() test.
- *
- * The testCommandDiscovery test search base is the 'src' directory;
- * any command files located immediately inside the search base are
- * eligible for discovery, and will be included in the search results.
- */
-class ExampleAnnotatedCommand extends AnnotatedCommand
-{
- /**
- * Do the main function of the my:cat command.
- */
- public function myCat($one, $two = '', $multiple = [], $flip = false)
- {
- if ($flip) {
- return "{$two}{$one}" . implode('', array_reverse($multiple));
- }
- return "{$one}{$two}" . implode('', $multiple);
- }
-
- /**
- * This is the my:cat command implemented as an AnnotatedCommand subclass.
- *
- * This command will concatenate two parameters. If the --flip flag
- * is provided, then the result is the concatenation of two and one.
- *
- * @command my:cat
- * @arg string $one The first parameter.
- * @arg string $two The other parameter.
- * @default $two ''
- * @option array $multiple An array of values
- * @default $multiple []
- * @option boolean $flip Whether or not the second parameter should come first in the result.
- * @aliases c
- * @usage bet alpha --flip
- * Concatenate "alpha" and "bet".
- */
- protected function execute(InputInterface $input, OutputInterface $output)
- {
- $one = $input->getArgument('one');
- $two = $input->getArgument('two');
- $multiple = $input->getOption('multiple');
- $flip = $input->getOption('flip');
-
- $result = $this->myCat($one, $two, $multiple, $flip);
-
- // We could also just use $output->writeln($result) here,
- // but calling processResults enables the use of output
- // formatters. Note also that if you use processResults, you
- // should correctly inject the command processor into your
- // annotated command via AnnotatedCommand::setCommandProcessor().
- return $this->processResults($input, $output, $result);
- }
-}