Как получить корневой путь приложения в консоли Symfony 4 - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть простое Symfony 4 Консольное приложение.В методе execute() мне нужно распечатать корневой каталог приложения.

Это $this->getContainer()->get('kernel')->getRootDir() - не работает.Это $this->get('kernel')->getRootDir(); - не работает.Это $this->get('parameter_bag')->get('kernel.project_dir'); - не работает.

Как я могу получить корневой каталог приложения?

1 Ответ

0 голосов
/ 27 ноября 2018

Я предлагаю не вводить контейнер в команду, а передавать параметр явно в определении службы

src / Command

class YourCommand extends Command
{
    private $path; 

    public function __construct(string $path) 
    {
         $this->path = $path;
    }

    public function (InputInterface $input, OutputInterface $output)
    {
       echo $this->path;
    }
}

config / services.yaml

services:
    # ...

    App\Command\YourCommand:
        arguments:
            $path: '%kernel.project_dir%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...