Как работает компонент Console в Symfony 3?

264
29 октября 2017, 20:45

Пример класса некой команды:

<?php
namespace AppBundle\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class NewCommand extends Command
{
    protected function configure()
    {
        $this
          ->setName('new-command')
          ->setDescription('Creates a new user.')
          ->setHelp('This command allows you to create a user...');
    }
    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $output->writeln('New command');
    }
}

Как Symfony находит этот класс и регистрирует его как консольную команду? Ведь при автолоадинге невозможно определить какие классы наследуются от базового (в данном случае, класса Command).

Answer 1

Что бы оно работало, надо зарегистрировать команду в bin/console смотри документацию https://symfony.com/doc/3.4/components/console.html

#!/usr/bin/env php
<?php
// application.php
require __DIR__.'/vendor/autoload.php';
use Symfony\Component\Console\Application;
$application = new Application();
// ... register commands
$application->add(new \AppBundle\Command\NewCommand());
$application->run();

Вот так оно его и находит

READ ALSO
Cannot use a scalar value as an array

Cannot use a scalar value as an array

Знаю что уже много раз отвечали на этот вопросНо я уже всё испробовал, но ничего не помогло

364
Ошибка сохранения проекта на yii2

Ошибка сохранения проекта на yii2

Я пишу один проект на Yii2Всё было хорошо, пока мне не начало выбивать, при сохранении, ошибку сохранения "Cannot Save Files", и создает два файла

268
Не корректно работает imageColorAllocate()

Не корректно работает imageColorAllocate()

функция imageColorAllocate() перестает работать в цикле

308
Помогите понять логику функцию strtotime

Помогите понять логику функцию strtotime

почему так происходит?

255