Я создал первую консольную команду в симфонии и хочу использовать ее для запуска своей службы.
У меня есть консоль приложения для настройки файлов.
- консоль приложения
- src
- Команда
- TestCommand.php
- Служба
- TestService
Консоль
#!/usr/bin/env php
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use Symfony\Component\Console\Application;
use App\Command\AppBundleCommand;
//use App\Commands\AppBundleCommand;
$app = new Application();
$app->add(new AppBundleCommand());
$app->run();
TestCommand.php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
use App\Service\DevelopmentManager;
class AppBundleCommand extends Command
{
protected function configure()
{
$this
->setName('app:run-test')
->setDescription('Add a short description for your command')
->addArgument('arg1', InputArgument::OPTIONAL, 'Argument description')
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$test = $input->getArgument('arg1');
$output->writeln('eee');
}
}
и мой сервис
class Test
{
private $var;
public function __construct($var) {
$this->var = $var;
}
public function print($var){
return $var
}
}
Я могу вызвать экземпляр своего класса внутри команды console, передать значения конструктору и вызватьмоя команда для отображения результата службы?