Как вызвать сервис из команды Symfony? - PullRequest
0 голосов
/ 04 июня 2019

Я создал первую консольную команду в симфонии и хочу использовать ее для запуска своей службы.

У меня есть консоль приложения для настройки файлов.

  • консоль приложения
  • 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, передать значения конструктору и вызватьмоя команда для отображения результата службы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...