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ódigo | Tipo | Descrição |
|---|---|---|
SYNTAX_ERROR | Erro | Erro de sintaxe PHP no arquivo |
WRONG_NAMESPACE | Erro | Namespace não segue o padrão Src\Modules\{Nome}\ |
SHELL_EXECUTION | Erro | Uso de exec, system, shell_exec, passthru |
EVAL_USAGE | Erro | Uso de eval() |
DIRECT_HEADER | Erro | Uso de header() diretamente (use Response::json()) |
DIE_EXIT | Erro | Uso de die() ou exit() em controllers |
ENV_FILE_ACCESS | Erro | Leitura direta do arquivo .env |
PATH_TRAVERSAL | Erro | Tentativa de path traversal (../) |
MISSING_UP | Erro | Migration sem função up() |
INVALID_CONNECTION | Erro | connection.php com valor inválido |
UNPROTECTED_WRITE_ROUTE | Aviso | Rota POST/PUT/DELETE sem middleware de autenticação |
MISSING_DOWN | Aviso | Migration sem função down() para rollback |
NO_DRIVER_CHECK | Aviso | Migration sem verificação de driver (MySQL/PostgreSQL) |
POTENTIAL_SQL_INJECTION | Aviso | Concatenaçã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
AuthHybridMiddlewareem 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';
{
"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
Trabalhe com o lint ativo durante o desenvolvimento e use autofix antes de publicar para garantir que tudo está correto.
Fluxo de Trabalho Recomendado
Desenvolva com Lint Ativo
Escreva código e corrija problemas conforme aparecem no editor.
Execute Análise Completa
Antes de publicar, clique em "Analisar código" para ver todos os problemas.
Use Autofix
Clique em "Corrigir automaticamente" para resolver problemas simples.
Corrija Manualmente
Problemas complexos (SQL injection, lógica de negócio) precisam de correção manual.
Publique
Quando não houver erros bloqueantes, publique seu módulo.
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/.