13.11.2025 | Peter Majmesku
HelloWorldCommands.php
<?php
declare(strict_types=1);
namespace Drupal\nice_module\Drush\Commands;
use Drupal\Component\DependencyInjection\ContainerInterface;
use Drupal\nice_module\HelloWorldService;
use Drush\Attributes as CLI;
use Drush\Commands\DrushCommands;
/**
* A Drush command class for saying "hello" to the world.
*/
final class HelloWorldCommands extends DrushCommands {
public function __construct(
private readonly HelloWorldService $helloWorldService,
) {
parent::__construct();
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container): self {
return new static($container->get('nice_module.hello_world_service'));
}
#[CLI\Command(name: 'nice_module:say-hello', aliases: ['smci'])]
#[CLI\Argument(name: 'userName', description: 'The name of the user.')]
public function sayHello(?string $userName = NULL): void {
$this->helloWorldService->sayHello($userName, $this->output());
$this->logger()->success('I said "hello" to the user.');
}
}