Видео актуально для Symfony 7
Во фреймворке Symfony есть возможность создания своих консольных команд (Command).
У нас есть определенные команды, которые мы можем выполнять и встроены во фреймворк Symfony.
Например, команда очистки кэша: мы пишем команду
php bin/console cache:clear
По сути, мы обращаемся с вами как бы к файлу в папке, вызываем бинарный файл `console` и исполняем его.
Таким образом, благодаря интерпретатору языка PHP, мы можем выполнять какие-то команды без участия браузера.
Чтобы посмотреть список команд, которые встроены и имеются по умолчанию в Symfony, мы можем воспользоваться командой
php bin/console list
Выполняем эту команду, и мы видим список команд, которые мы можем выполнять. Как вы видите, достаточно большой список.
Кроме того, что у нас есть возможность выполнять команды, встроенные в ядро Symfony, мы можем написать свою команду, которую сможем запускать из консоли.
Чем это хорошо?
Это хорошо в первую очередь тем, что, например, вы работаете с большими данными, с какими-то долгими вычислительными процессами. Соответственно, писать контроллер, обращаясь к которому, этот процесс будет запускаться — это не самое лучшее решение. При этом задействуется веб-сервер, который у вас установлен.
Соответственно, этот веб-сервер не предназначен для обработки таких больших данных, он может выдать ошибку таймаута, так как время обращения к таким серверам ограничено, либо может возникнуть другая ошибка лимитов и так далее.
Если же мы напрямую обращаемся к такому процессу запуска через консоль, это происходит намного быстрее, и этих проблем с ошибками таймаута или другими ошибками у вас не будет.
Кроме того, иногда просто удобнее написать команду, чем создавать контроллер и интерфейс. Вы достаточно быстро можете создать команду, прописать действия, которые она будет выполнять, и запустить её через терминал.
Вот такая идея консольных команд. Давайте в следующем видео посмотрим, как вы можете создать свою консольную команду и попробовать вызвать её через терминал.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти