Encodera

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

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

Оглавление

Консоль и генератор bake

bin/cake — консольная программа проекта. Через неё запускают сервер разработки, смотрят маршруты, чистят кеш и создают заготовки файлов. Создание файлов выполняет её часть под названием bake — «испечь».

Где она лежит

Файл bin/cake находится в проекте, поэтому команды запускают из его корневой папки. В командной строке Windows вместо bin/cake пишут bin\cake.

Список команд

bin/cake

Запуск без аргументов печатает все доступные команды, сгруппированные по источнику: приложение, фреймворк, плагины.

Основные команды

КомандаЧто делает
bin/cake serverЗапускает сервер на http://localhost:8765
bin/cake server -p 8080То же на другом порту
bin/cake routesПоказывает все маршруты
bin/cake cache clear_allОчищает кеш
bin/cake migrations migrateОбновляет структуру базы данных
bin/cake bakeПоказывает, что умеет генератор

Справку по любой команде даёт ключ --help:

bin/cake server --help

В ответ команда печатает своё описание и список ключей.

Генератор bake

bake создаёт файл нужного класса в правильной папке и с правильным именем — так соглашения соблюдаются сами:

bin/cake bake controller Hello

Команда создаёт src/Controller/HelloController.php и файл теста к нему и печатает пути созданных файлов.

Что умеет bake

КомандаЧто создаёт
bake controller ArticlesКонтроллер в src/Controller
bake model ArticlesКлассы таблицы и записи в src/Model
bake template ArticlesШаблоны в templates/Articles
bake migration CreateArticlesМиграцию в config/Migrations
bake command ReportКонсольную команду в src/Command
bake all ArticlesМодель, контроллер и шаблоны сразу

Готовый раздел одной командой

bin/cake bake all Articles

Команда читает столбцы таблицы articles из базы данных и создаёт рабочий раздел: список статей, просмотр, добавление, изменение и удаление. Поэтому ей нужна уже созданная таблица — она появится в главе о базе данных. До тех пор файлы будем создавать вручную: так понятнее, из чего они состоят.

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

Если файл уже существует, bake спрашивает, перезаписать ли его. Ответ y стирает всё, что вы написали в этом файле руками. Генератор — это способ быстро начать, а не обновлять готовый код: на вопрос о перезаписи отвечайте n, если в файле есть ваши правки.

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

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