CLI · Winter Console

Команда make

make создаёт скелеты компонентов из шаблонов: контроллеры, сервисы, репозитории, сущности, middleware, джобы, команды. Каждый флаг добавляет один тип; флаги комбинируются, чтобы сгенерировать несколько файлов за раз.

Формат call make .Name -флагиСуффикс добавляется самСуществующие не перезаписываются

Что такое make и зачем

make — генератор кода по шаблонам.

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

Решение. Опишите имя и тип флагом — make возьмёт шаблон, подставит неймспейс и имя класса, положит файл в нужную папку под PSR-4-корнем и подключит к автозагрузке. Об этом и раздел.

Синтаксис

bash
call make <dot.notation.Name> -[флаги] [--mvc]

Первый аргумент — путь в точечной нотации, заканчивающийся именем класса. Флаги выбирают, какие типы сгенерировать. Суффикс типа (Controller, Service…) генератор добавляет сам:

bash
php call make -c .User    # → UserController  (не .UserController!)
php call make -s .User    # → UserService
php call make -r .User    # → UserRepository

Точечная нотация → путь

Точки в имени становятся папками; корнем выступает подходящий PSR-4-префикс:

Ввод Куда попадёт
.User Первый PSR-4-корень приложения (умный поиск папки)
api.user.Profile <корень>/Api/User/ProfileController.php
acme.app.http.User Самый длинный совпавший PSR-4-префикс

Если путь пустой (.Name), make кладёт файл в первую существующую подпапку (Controllers/, затем Controller/, иначе корень). Опция --mvc принудительно добавляет папку-категорию.

Флаги

HTTP

Флаг Компонент Суффикс
-c Controller Controller
-m Middleware Middleware

Данные

Флаг Компонент Суффикс
-e Entity
-d Dto Dto
-p Response

Бизнес-слой

Флаг Компонент Суффикс
-s Service Service
-r Repository Repository
-t Store Store

Асинхрон / процессы

Флаг Компонент Суффикс
-J Job Job
-P Process Process
-N Daemon Daemon
-W WebSocket WebSocket

Конфиг / консоль

Флаг Компонент Суффикс
-D DbConfig DbConfig
-R RedisConfig RedisConfig
-n Cmd (своя команда)

Комбинирование флагов

Несколько флагов на одно имя генерируют набор связанных файлов сразу:

bash
php call make -csre .User          # Controller + Service + Repository + Entity
php call make -csre .Order --mvc   # то же, но в папках Controllers/ Services/ ...

Опция --mvc

Оборачивает путь в папки-категории: Controllers/, Services/, Repositories/, Entities/, Dto/, Requests/, Jobs/, Processes/, Sockets/, Commands/, Utils/.

Примеры

bash
php call make -c api.user.Profile   # → Api/User/ProfileController.php
php call make -J .WelcomeEmail       # Job в Jobs/ (умный поиск)
php call make -n .MySync             # своя консольная команда (Cmd)
php call make -cs .User .Order .Item # несколько имён за раз

Существующие файлы не перезаписываются

make никогда не затирает файл — существующий помечается [EXISTS], а не [CREATED]. Ваш код в безопасности.

Дальше