v1.0
Acessar api.vupi.us

Análise de Código

O que o analisador verifica antes de publicar seu módulo.

Como funciona

Antes de publicar, clique em "Analisar código" no painel lateral. O analisador verifica todos os arquivos PHP do módulo e classifica os problemas em 3 categorias:

Erros (bloqueantes)

Impedem a publicação. Devem ser corrigidos antes de publicar.

Avisos

Publicação permitida, mas recomenda-se corrigir para segurança e qualidade.

Sugestões

Melhorias opcionais de boas práticas.

O que é verificado

CódigoTipoDescrição
SYNTAX_ERRORErroErro de sintaxe PHP no arquivo
WRONG_NAMESPACEErroNamespace não segue o padrão Src\Modules\{Nome}\
SHELL_EXECUTIONErroUso de exec, system, shell_exec, passthru
EVAL_USAGEErroUso de eval()
DIRECT_HEADERErroUso de header() diretamente (use Response::json())
DIE_EXITErroUso de die() ou exit() em controllers
ENV_FILE_ACCESSErroLeitura direta do arquivo .env
PATH_TRAVERSALErroTentativa de path traversal (../)
MISSING_UPErroMigration sem função up()
INVALID_CONNECTIONErroconnection.php com valor inválido
UNPROTECTED_WRITE_ROUTEAvisoRota POST/PUT/DELETE sem middleware de autenticação
MISSING_DOWNAvisoMigration sem função down() para rollback
NO_DRIVER_CHECKAvisoMigration sem verificação de driver (MySQL/PostgreSQL)
POTENTIAL_SQL_INJECTIONAvisoConcatenação de variáveis em queries SQL

Correção automática (Autofix)

Clique em "Corrigir automaticamente" para que a IDE corrija automaticamente os problemas que têm solução automática.

O que o Autofix corrige?

  • Migrations sem up/down: Adiciona métodos vazios
  • Migrations sem verificação de driver: Adiciona $pdo->getAttribute(PDO::ATTR_DRIVER_NAME)
  • Migrations não idempotentes: Adiciona verificações IF NOT EXISTS
  • Rotas sem middleware: Adiciona AuthHybridMiddleware em rotas POST/PUT/DELETE
  • Uso de header() direto: Substitui por Response::json()
  • Uso de die/exit: Substitui por return Response::json()
  • Namespace incorreto: Corrige para Src\Modules\{Nome}\
  • connection.php inválido: Corrige para return 'auto';
POST /api/ide/projects/{id}/autofix
{
  "applied": 5,
  "skipped": 2,
  "files_saved": 3,
  "analysis": {
    "can_deploy": true,
    "issues": []
  }
}

Lint em Tempo Real

Durante a edição de arquivos PHP, a IDE executa análise em tempo real (lint) para detectar problemas antes mesmo de salvar:

Feedback Instantâneo

Erros e avisos aparecem enquanto você digita, como em IDEs modernas.

Correções Sugeridas

Cada problema vem com sugestão de como corrigir.

Contexto Inteligente

Lint considera todos os arquivos do projeto para validações precisas.

Segurança Proativa

Detecta vulnerabilidades (SQL injection, shell execution) antes de publicar.

Como funciona o Lint?

O lint é executado automaticamente quando você edita um arquivo PHP. Ele analisa:

  • Sintaxe PHP: Erros de sintaxe são detectados imediatamente
  • Estrutura do módulo: Verifica se namespaces, classes e métodos seguem o padrão
  • Segurança: Detecta uso de funções perigosas (eval, exec, shell_exec)
  • Boas práticas: Sugere melhorias de código e padrões
Dica: Use Lint + Autofix

Trabalhe com o lint ativo durante o desenvolvimento e use autofix antes de publicar para garantir que tudo está correto.

Fluxo de Trabalho Recomendado

1

Desenvolva com Lint Ativo

Escreva código e corrija problemas conforme aparecem no editor.

2

Execute Análise Completa

Antes de publicar, clique em "Analisar código" para ver todos os problemas.

3

Use Autofix

Clique em "Corrigir automaticamente" para resolver problemas simples.

4

Corrija Manualmente

Problemas complexos (SQL injection, lógica de negócio) precisam de correção manual.

5

Publique

Quando não houver erros bloqueantes, publique seu módulo.

Prefixos de URI reservados

Módulos não podem registrar rotas nos prefixos: /api/auth/, /api/login, /api/usuario, /api/system/, /api/ide/, /dashboard. Use prefixos próprios como /api/meumodulo/.

Próximos Passos

Dependências Externas

Aprenda a adicionar bibliotecas externas ao seu módulo.

Ver Dependências

Terminal e Debug

Execute e depure seu código diretamente na IDE.

Ver Terminal

API Route Tester

Teste suas rotas diretamente na interface da IDE.

Testar Rotas

Segurança do Projeto

Configure JWT secrets e API keys para proteger seu módulo.

Ver Segurança