xarxaprod-wp-theme/vendor/wp-cli/php-cli-tools/examples/arguments.php

38 lines
1.2 KiB
PHP
Raw Permalink Normal View History

2024-01-09 16:13:20 +01:00
<?php
/**
* Sample invocations:
*
* # php example_args.php -vC ./ --version
* {"verbose":true,"cache":".\/","version":true}
* # php example_args.php -vC --version
* PHP Warning: [cli\Arguments] no value given for -C
* # php example_args.php -vC multi word --version
* {"verbose":true,"cache":"multi word","version":true}
*
*/
require 'common.php';
$strict = in_array('--strict', $_SERVER['argv']);
$arguments = new \cli\Arguments(compact('strict'));
$arguments->addFlag(array('verbose', 'v'), 'Turn on verbose output');
$arguments->addFlag('version', 'Display the version');
$arguments->addFlag(array('quiet', 'q'), 'Disable all output');
$arguments->addFlag(array('help', 'h'), 'Show this help screen');
$arguments->addOption(array('cache', 'C'), array(
'default' => getcwd(),
'description' => 'Set the cache directory'));
$arguments->addOption(array('name', 'n'), array(
'default' => 'James',
'description' => 'Set a name with a really long description and a default so we can see what line wrapping looks like which is probably a goo idea'));
$arguments->parse();
if ($arguments['help']) {
echo $arguments->getHelpScreen();
echo "\n\n";
}
echo $arguments->asJSON() . "\n";