1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-08-22 15:07:44 +00:00
Files
matomo/plugins/ExampleCommand/Commands/HelloWorld.php
Stefan Giehl 75290a04f4 Use https URLs (#23072)
* 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>
2025-02-27 16:34:08 +01:00

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;
}
}