Ir para conteúdo
Fórum Script Brasil
  • 0

O Copilot disse que o meu roteador está bem errado


Frank K Hosaka

Pergunta

O meu primeiro roteador só funcionava com um argumento, com a ajuda do Copilot mudei para ele suportar mais de um argumento.

Mas quando um dos argumentos tinha um ponto no meio do caminho, o roteador separava o que era um valor em vários argumentos.

O Copilot fez auditoria no meu roteador, e descobriu que usei o comando $_GET indevidamente, sem uma chave.

O meu roteador é assim:
 

<?php
spl_autoload_register(fn ($class) => 
    require str_replace('\\', DIRECTORY_SEPARATOR, strtolower($class)) . '.php');
$rota = 'login_login';
$parametros = [];
if ($_GET) {
    $chaveCompleta = key($_GET); // Ex: Login_menu_param1_param2_param3
    if (strpos($chaveCompleta, '_') === false) {
        exit; // proteção contra valores inválidos
    }
    $rota=$chaveCompleta;
}
$segmentos = explode('_', $rota);
$nomeControle = $segmentos[0];
$metodo = $segmentos[1];
$parametros = array_slice($segmentos, 2);
$controle = new $nomeControle();
call_user_func_array([$controle, $metodo], $parametros);

e o Copilot disse que o correto é assim:
 

<?php
spl_autoload_register(fn ($class) => 
    require str_replace('\\', DIRECTORY_SEPARATOR, strtolower($class)) . '.php');
$rota = $_GET['rota'] ?? 'login_login';
$segmentos = explode('_', $rota);
$nomeControle = $segmentos[0];
$metodo = $segmentos[1];
$parametros = array_slice($segmentos, 2);

$controle = new $nomeControle();
call_user_func_array([$controle, $metodo], $parametros);

Ainda não testei a nova sugestão do Copilot, estou tentando me recompor. Que vergonha!

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,5k
    • Posts
      652,5k
×
×
  • Criar Novo...