Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Команда bin/magento и режим разработчика

Почти всё управление Magento идёт через консоль: включить модуль, сбросить кеш, обновить базу данных. Для этого в проекте есть файл bin/magento. В уроках курса после каждого изменения будет указано, какую команду запустить, чтобы увидеть результат.

Запуск

Команду запускают из корня проекта:

bin/magento list

Она печатает список всех доступных команд, сгруппированный по темам: cache, module, setup и другие. Если файл не запускается напрямую, пишите php bin/magento list.

Справку по одной команде показывает параметр --help:

bin/magento cache:clean --help

Режим разработчика

После установки включён режим default. Для работы над кодом его сразу меняют:

bin/magento deploy:mode:set developer

Команда печатает Enabled developer mode. В этом режиме ошибки PHP показываются на странице, а не прячутся в журнал, а стили и сгенерированные классы создаются по мере надобности.

Команды на каждый день

КомандаЧто делает
module:statusПоказывает включённые и отключённые модули
module:enable ИмяВключает модуль
setup:upgradeРегистрирует новые модули, обновляет таблицы, выполняет заплатки
cache:cleanСбрасывает кеш Magento
cache:flushОчищает хранилище кеша целиком
indexer:reindexПересчитывает индексы каталога
setup:di:compileГенерирует классы заранее; нужна на рабочем сервере

Что запускать после изменения

Magento многое запоминает: собранные файлы XML, готовые страницы, сгенерированные классы. Поэтому правка не всегда видна сразу.

Что изменилиЧто сделать
Файл PHP без изменения конструктораНичего
Конструктор классаУдалить содержимое папки generated
Любой файл XML в etc или макетbin/magento cache:clean
Шаблон .phtmlbin/magento cache:clean, если включён кеш блоков и страниц
Новый модуль, db_schema.xml, заплаткаbin/magento setup:upgrade

Кеш при разработке

Чтобы не сбрасывать кеш после каждой правки шаблона, кеш готовых страниц и блоков отключают:

bin/magento cache:disable full_page block_html

Остальные виды кеша оставляют включёнными — без них магазин работает очень медленно. Подробно о кеше рассказывает урок «Кеш и индексы».

Частая ошибка

Команды запускают от имени другого пользователя, например root. Файлы в папках var и generated начинают принадлежать ему, веб-сервер не может их изменить, и страница падает с ошибкой прав доступа. Запускайте bin/magento от того же пользователя, под которым работает PHP на сервере.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.