/** * Display help for this console. * * @return ConsoleOptionParser */ public function getOptionParser() { $parser = new ConsoleOptionParser('console'); $parser->description('This shell provides a REPL that you can use to interact ' . 'with your application in an interactive fashion. You can use ' . 'it to run adhoc queries with your models, or experiment ' . 'and explore the features of CakePHP and your application.' . "\n\n" . 'You will need to have psysh installed for this Shell to work.'); $parser->epilog('Thank you for baking with CakePHP!'); return $parser; }
/** * test setting the console epilog * * @return void */ public function testEpilog() { $parser = new ConsoleOptionParser('test', false); $result = $parser->epilog('A test'); $this->assertEquals($parser, $result, 'Setting epilog is not chainable'); $this->assertEquals('A test', $parser->epilog(), 'getting value is wrong.'); $result = $parser->epilog(['A test', 'something']); $this->assertEquals("A test\nsomething", $parser->epilog(), 'getting value is wrong.'); }
/** * Build a parser from an array. Uses an array like * * ``` * $spec = [ * 'description' => 'text', * 'epilog' => 'text', * 'arguments' => [ * // list of arguments compatible with addArguments. * ], * 'options' => [ * // list of options compatible with addOptions * ], * 'subcommands' => [ * // list of subcommands to add. * ] * ]; * ``` * * @param array $spec The spec to build the OptionParser with. * @param bool $defaultOptions Whether you want the verbose and quiet options set. * @return $this */ public static function buildFromArray($spec, $defaultOptions = true) { $parser = new ConsoleOptionParser($spec['command'], $defaultOptions); if (!empty($spec['arguments'])) { $parser->addArguments($spec['arguments']); } if (!empty($spec['options'])) { $parser->addOptions($spec['options']); } if (!empty($spec['subcommands'])) { $parser->addSubcommands($spec['subcommands']); } if (!empty($spec['description'])) { $parser->description($spec['description']); } if (!empty($spec['epilog'])) { $parser->epilog($spec['epilog']); } return $parser; }