CLI e geradores
Lista verificada de comandos PHP MVC e opções reconhecidas.
Ajuda
php mvc help
php mvc listO parser aceita argumentos posicionais, flags --flag e pares --chave=valor.
Geradores
| Comando | Artefato |
|---|---|
make:controller Nome | Controller Web |
make:api-controller Nome | Controller API em Api/ |
make:model Nome | Model |
make:request Nome / make:api-request Nome | FormRequest |
make:api-resource Nome | Transformação explícita JSON |
make:service Nome, make:repository Nome | Camadas de aplicação |
make:migration Nome, make:seed Nome | Banco |
make:view nome, make:layout nome | Templates |
O gerador não sobrescreve arquivos existentes sem autorização explícita. Confira e complete o stub antes de usar em produção.
Banco e utilitários
php mvc migrate
php mvc migrate --fresh
php mvc migrate:rollback --step=2
php mvc seed:run UserSeeder
php mvc key:generate
php mvc serve --port=8080migrate --fresh recria o banco inteiro e pede confirmação; operação destrutiva. serve inicia servidor local, por padrão porta 8000. A lista oficial em execução é php mvc list.
Nomes
Geradores aceitam separadores de subpasta normalizados; nomes de classe são convertidos a PascalCase. Consulte código gerado: pluralização para nomes de tabela é simples e pode exigir ajuste manual.
Ciclo seguro de geração e migração
Comece com `help`/`list`; gere um stub e leia-o antes de executar. Geradores de Controller, Model, Request, Service, Repository, View/Layout e API escrevem sob app/, resources/views/ ou database/. O CLI não substitui o registro manual da rota nem a revisão de autorização.
php mvc list
php mvc make:controller Admin/ReportController
php mvc make:request Admin/FilterReportRequest
php mvc make:repository Admin/ReportRepository
php mvc make:migration create_reports_table
php mvc migrateArguments posicionais seguem o nome do comando; opções aceitam `--flag` ou `--key=valor`. O gerador pula arquivo existente em vez de sobrescrevê-lo automaticamente. Confira namespaces, tabela e fillable gerados antes de usar.
| Tarefa | Comando | Observação |
|---|---|---|
| Gerar Controller/API | make:controller, make:api-controller | Stub não registra rota automaticamente. |
| Gerar Request/API Resource | make:request, make:api-request, make:api-resource | Complete regras, autorização e campos expostos. |
| Banco | migrate; migrate:rollback --step=N | step conta batches de rollback. |
| Recriar schema | migrate --fresh | Destrutivo: drop/recria o banco configurado. |
| Seed | seed:run [Nome] | Sem nome executa arquivos em ordem alfabética. |
| Chave/servidor | key:generate; serve --port=8080 | key:generate exige .env; serve é servidor local. |
Quando usar e o que não delegar ao CLI
Use o CLI para rotinas locais previsíveis: migrations pendentes, rollback conscientemente revisado, seed de desenvolvimento e stubs. Para produção, deployment/migração deve seguir backup e janela operacional da aplicação; confirmação interativa de `--fresh` não é proteção contra escolher o database errado.
Flags destrutivas e servidor local
migrate --fresh aceita --force e --yes; force libera execução em produção e yes pula a confirmação do nome do banco. São opções destrutivas: não as use sem revisar ambiente/alvo e backup.
# Exemplo de desenvolvimento; apaga e recria o banco configurado.
php mvc migrate --fresh --force --yes
# Servidor PHP de desenvolvimento, com host e porta explícitos.
php mvc serve --host=127.0.0.1 --port=8080
Sem nome, seed:run carrega todos os arquivos *Seeder.php em ordem natural; com nome, seleciona o seeder indicado. Revise os arquivos antes de rodar. O UserSeeder fornecido cria usuários de demonstração e verifica e-mails já existentes.
make:model e make:migration são geradores distintos. O primeiro imprime uma sugestão de migration SQL, mas o Migrator carrega arquivos PHP que retornam Migration; use make:migration para criar o arquivo executável. Para make:view admin/product, o caminho gerado fica sob resources/views/admin/product e a notação para a subview inclui esse segmento (admin.product.index).
serve --host=0.0.0.0 expõe o servidor de desenvolvimento na interface de rede — prefira loopback salvo necessidade concreta.Subpastas: suporte varia por gerador
Não aplique a regra de subpastas a todos os comandos. make:controller, make:request, make:view e make:layout preservam subpastas/namespaces nos respectivos destinos. Em contraste, make:model, make:service, make:repository, make:seed e os geradores make:api-* normalizam o nome e escrevem na raiz do diretório do recurso. Confirme a mensagem e o caminho gerado antes de ajustar imports; por exemplo, não espere que make:repository Admin/ReportRepository gere automaticamente app/Repositories/Admin/.
make:model não gera migration
O comando cria o Model e imprime uma dica textual de nome terminada em .sql; não cria arquivo SQL nem migration executável. O Migrator carrega arquivos PHP de database/migrations/*.php que retornam Framework\Database\Migration. Para criar uma migration executável, use php mvc make:migration create_nome_table, edite o PHP gerado e só então execute php mvc migrate. Não crie o arquivo .sql sugerido esperando que o Migrator o execute.