Spaces:
No application file
No application file
File size: 954 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<?php
declare(strict_types=1);
namespace Mautic\CoreBundle\Helper;
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\BufferedOutput;
use Symfony\Component\HttpKernel\KernelInterface;
class CommandHelper
{
public function __construct(
private KernelInterface $kernel
) {
}
/**
* @param array<int|string> $params
*/
public function runCommand(string $name, array $params = []): CommandResponse
{
$params = array_merge(['command' => $name], $params);
$application = new Application($this->kernel);
$application->setAutoExit(false);
$input = new ArrayInput($params);
$output = new BufferedOutput();
$statusCode = $application->run($input, $output);
$message = $output->fetch();
return new CommandResponse($statusCode, $message);
}
}
|