A git project that acts as an example of an xmlauthor command.
- Git
- PHP
5.5.9+
- Composer installed globally
-
Install dependencies
composer install
-
Try
hello-world
command:bin/hello-world --configFilename=XmlAuthoringProjectSettings.yaml.dist
-
New commands should:
- be written to run in a Symfony 3.4 console application. See Symfony's documentation on creating commands.have their own git repository project
- have tests (one or more of PHPUnit/Behat/etc) stored within the project repository
- be compatible with Symfony 3.4, and
- make good use of the
symfony/console
project. i.e.$ composer require symfony/console:~3.4
- adhere to the convention that allows the command to be automatically registered.
- be installed by end users as a composer package
- reuse existing libraries where possible. Such as;
- use PSR-4 autoloading where possible.
- be cross-platform compatible; Run on the command line on Windows 10, MacOS High Sierra and Linux.
- provide README.md instructions on how to install and use the command from .
-
Example command:
# src/Command/NewCommand.php namespace XmlSquad\PackageName\Command; use XmlSquad\Library\Command\AbstractCommand; class NewCommand extends AbstractCommand { public function __construct() { # Specify command's name parent::__construct('new-command'); } /** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { try { $configFilename = $input->getOption('configFilename'); $configOptions = $this->getConfigOptions($configFilename); dump($configOptions); } catch (FileNotFoundException $e) { $output->writeln( $e->getMessage(), OutputInterface::VERBOSITY_NORMAL ); } } }
vendor/bin/phpunit
[ ] Tests with virtual filesystem