Видео актуально для Symfony 7

Во фреймворке Symfony есть возможность создания своих консольных команд (Command). 

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

Например, команда очистки кэша: мы пишем команду 

php bin/console cache:clear

По сути, мы обращаемся с вами как бы к файлу в папке, вызываем бинарный файл `console` и исполняем его.

Таким образом, благодаря интерпретатору языка PHP, мы можем выполнять какие-то команды без участия браузера. 

Чтобы посмотреть список команд, которые встроены и имеются по умолчанию в Symfony, мы можем воспользоваться командой 

php bin/console list 

Выполняем эту команду, и мы видим список команд, которые мы можем выполнять. Как вы видите, достаточно большой список.

Кроме того, что у нас есть возможность выполнять команды, встроенные в ядро Symfony, мы можем написать свою команду, которую сможем запускать из консоли. 

Чем это хорошо? 

Это хорошо в первую очередь тем, что, например, вы работаете с большими данными, с какими-то долгими вычислительными процессами. Соответственно, писать контроллер, обращаясь к которому, этот процесс будет запускаться — это не самое лучшее решение. При этом задействуется веб-сервер, который у вас установлен. 

Соответственно, этот веб-сервер не предназначен для обработки таких больших данных, он может выдать ошибку таймаута, так как время обращения к таким серверам ограничено, либо может возникнуть другая ошибка лимитов и так далее.

Если же мы напрямую обращаемся к такому процессу запуска через консоль, это происходит намного быстрее, и этих проблем с ошибками таймаута или другими ошибками у вас не будет. 

Кроме того, иногда просто удобнее написать команду, чем создавать контроллер и интерфейс. Вы достаточно быстро можете создать команду, прописать действия, которые она будет выполнять, и запустить её через терминал.

Вот такая идея консольных команд. Давайте в следующем видео посмотрим, как вы можете создать свою консольную команду и попробовать вызвать её через терминал.