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

Um roteador meia boca no PHP


Frank K Hosaka

Pergunta

Eu acho bem bacana o roteador do Laravel, e eu pensei fazer o mesmo no PHP.

O Copilot sugeriu criar o arquivo .htaccess:

RewriteEngine On
RewriteRule ^([^/]+)/?$ index.php [L]

No teste que eu fiz no Hostinger, não precisei do arquivo .htaccess

O meu roteador ficou assim:

<?php
class Teste {
  function teste() {echo "olá mundo!";}
  function beleza($alfa = null) {
    if($alfa){echo $alfa;} else {echo "o mundo e belo";}
  }
}
$request = $_SERVER['REQUEST_URI'];
$script_name = $_SERVER['SCRIPT_NAME'];
$base = str_replace(basename($script_name), '', $script_name);
$path = str_replace($base, '', $request);
$path = trim($path, '/');
if(strpos($path,'?')===false){$path .= '?';}
list($before,$after)=explode('?',$path,2);
$rota=['teste'=>'Teste.teste','beleza'=>'Teste.beleza'];
$segmentos=explode('.',$rota[$before]);
$nomeControle=$segmentos[0];
$metodo=$segmentos[1];
$parametro=$after ?? null;
(new $nomeControle())->$metodo($parametro);
?>

Ele funcionou quando escrevi localhost/astudy/teste, localhost/astudy/beleza, localhost/astudy/beleza?variavel=15

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...