PHP MVCDOCUMENTAÇÃO
v2.0.0

CLI e geradores

Lista verificada de comandos PHP MVC e opções reconhecidas.

Ajuda

php mvc help
php mvc list

O parser aceita argumentos posicionais, flags --flag e pares --chave=valor.

Geradores

ComandoArtefato
make:controller NomeController Web
make:api-controller NomeController API em Api/
make:model NomeModel
make:request Nome / make:api-request NomeFormRequest
make:api-resource NomeTransformação explícita JSON
make:service Nome, make:repository NomeCamadas de aplicação
make:migration Nome, make:seed NomeBanco
make:view nome, make:layout nomeTemplates

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=8080

migrate --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 migrate

Arguments 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.

TarefaComandoObservação
Gerar Controller/APImake:controller, make:api-controllerStub não registra rota automaticamente.
Gerar Request/API Resourcemake:request, make:api-request, make:api-resourceComplete regras, autorização e campos expostos.
Bancomigrate; migrate:rollback --step=Nstep conta batches de rollback.
Recriar schemamigrate --freshDestrutivo: drop/recria o banco configurado.
Seedseed:run [Nome]Sem nome executa arquivos em ordem alfabética.
Chave/servidorkey:generate; serve --port=8080key: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.

UserSeeder contém contas/senhas de demonstração. Inspecione a pasta database/seeds antes de `seed:run` sem argumento, porque o comando inclui todos os arquivos *Seeder.php. Consulte Migrations e Seeders.

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).

O gerador pode retornar sucesso mesmo quando um arquivo existente foi ignorado; confira o caminho/saída após execução. 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.