قرینه از
https://github.com/matomo-org/matomo.git
synced 2025-08-22 15:07:44 +00:00

* Use https URLs * Build vue files * use matomo.org instead of piwik.org in some links * updates expected UI test file --------- Co-authored-by: innocraft-automation <innocraft-automation@users.noreply.github.com>
81 خطوط
2.8 KiB
PHP
81 خطوط
2.8 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Matomo - free/libre analytics platform
|
|
*
|
|
* @link https://matomo.org
|
|
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
|
*/
|
|
|
|
namespace Piwik\Plugins\ExampleCommand\Commands;
|
|
|
|
use Piwik\Plugin\ConsoleCommand;
|
|
|
|
/**
|
|
* This class lets you define a new command. To read more about commands have a look at our Matomo Console guide on
|
|
* https://developer.matomo.org/guides/piwik-on-the-command-line
|
|
*
|
|
* As Matomo Console is based on the Symfony Console you might also want to have a look at
|
|
* https://symfony.com/doc/current/components/console/index.html
|
|
*/
|
|
class HelloWorld extends ConsoleCommand
|
|
{
|
|
/**
|
|
* This method allows you to configure your command. Here you can define the name and description of your command
|
|
* as well as all options and arguments you expect when executing it.
|
|
*/
|
|
protected function configure()
|
|
{
|
|
$this->setName('examplecommand:helloworld');
|
|
$this->setDescription('ExampleCommandDescription');
|
|
$this->addRequiredValueOption('name', null, 'Your name:');
|
|
}
|
|
|
|
/**
|
|
* Interact with the user.
|
|
*
|
|
* This method is executed before the InputDefinition is validated.
|
|
* This means that this is the only place where the command can
|
|
* interactively ask for values of missing required arguments.
|
|
*/
|
|
protected function doInteract(): void
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Initializes the command after the input has been bound and before the input
|
|
* is validated.
|
|
*
|
|
* This is mainly useful when a lot of commands extends one main command
|
|
* where some things need to be initialized based on the input arguments and options.
|
|
*/
|
|
protected function doInitialize(): void
|
|
{
|
|
}
|
|
|
|
/**
|
|
* The actual task is defined in this method. Here you can access any option or argument that was defined on the
|
|
* command line via $this->getInput() and write anything to the console via $this->getOutput().
|
|
* In case anything went wrong during the execution you should throw an exception to make sure the user will get a
|
|
* useful error message and to make sure the command does not exit with the status code 0.
|
|
*
|
|
* Ideally, the actual command is quite short as it acts like a controller. It should only receive the input values,
|
|
* execute the task by calling a method of another class and output any useful information.
|
|
*
|
|
* Execute the command like: ./console examplecommand:helloworld --name="The Matomo Team"
|
|
*/
|
|
protected function doExecute(): int
|
|
{
|
|
$input = $this->getInput();
|
|
$output = $this->getOutput();
|
|
|
|
$name = $input->getOption('name');
|
|
|
|
$message = sprintf('<info>HelloWorld: %s</info>', $name);
|
|
|
|
$output->writeln($message);
|
|
|
|
return self::SUCCESS;
|
|
}
|
|
}
|