This website uses cookies

Our website, platform and/or any sub domains use cookies to understand how you use our services, and to improve both your experience and our marketing relevance.

Laravel Routing Guide – Como criar uma rota para chamar uma vista

Updated on October 3, 2025

9 Min Read

Principais conclusões:

  • O Laravel routing mapeia URLs para acções ou controladores específicos, definindo como a aplicação responde a pedidos HTTP.
  • As rotas são definidas em ficheiros como routes/web.php e routes/api.php, e podem ser associadas a vários métodos HTTP (GET, POST, PUT, DELETE, PATCH, OPTIONS).
  • O Laravel oferece recursos avançados de roteamento, como parâmetros de rota, restrições de expressão regular, rotas nomeadas, agrupamento de rotas, middleware e rotas de fallback para lidar com URLs indefinidos.

O roteamento no Laravel permite que os usuários mapeiem um URL para uma ação ou controladorespecífico – porexemplo, quando um URL é solicitado, qual ação é executada:

  • Os dados são obtidos a partir de um URL
  • Processa um formulário
  • Mostrar o perfil de um utilizador
  • Submete uma encomenda

Neste artigo, explicarei o roteamento do Laravel em detalhes, como configurar rotas do Laravel e técnicas avançadas de roteamento. Partindo do princípio que sabes a introdução básica à instalação do Laravel, podes começar já com este guia.

O que é uma rota no Laravel?

No Laravel, uma rota diz a uma aplicação como ela deve responder a diferentes pedidos HTTP. Por exemplo, o que acontece quando o pedido GET é feito para URLs específicos. As rotas ficam entre o pedido do utilizador e a ação que a tua aplicação vai executar.

As rotas são definidas no diretório de rotas , que contém vários ficheiros. routes/web.php para aplicações Web e para APIs, routes/api.php.

Quando um utilizador acede a um URL, o Laravel verifica as rotas e depois faz corresponder o pedido ao URL correto e ao método HTTP.

Os desenvolvedores confiam na Cloudways para hospedar seus aplicativos Laravel

Lança as tuas aplicações Laravel com facilidade na nossa plataforma de nuvem amiga do programador e experimenta velocidades e desempenho extremamente rápidos.

Exemplo de rota básica:

Aqui tens um exemplo simples de uma rota em Laravel:

Route::get('/', function () {
  retorna view('welcome');
});

O código mencionado acima define uma rota para a página inicial. Sempre que esta rota recebe um pedido GET para o URL de raiz (/), devolve a vista “welcome”. As vistas são basicamente o frontend da tua aplicação.

Rotas e acções do controlador:

As rotas também podem ser ligadas a métodos do controlador em vez de devolverem vistas diretamente. Por exemplo:

Route::get(‘user/{id}’, ‘UserController@show’);

Esta rota define um pedido GET para user/{id} e aponta para o método show do UserController. O método {id} é um parâmetro de rota dinâmico que é passado para o método do controlador.

Grupos de rotas e Middleware:

As rotas do Laravel podem ser agrupadas para uma melhor organização. Podes agrupar rotas que partilham atributos comuns, como a autenticação ou determinados namespaces. O middleware também pode ser anexado às rotas para executar tarefas como verificar se um usuário está autenticado antes de acessar uma rota.

Compreender os métodos HTTP no Laravel Routing

As rotas no Laravel definem o que a tua aplicação deve fazer (ação a executar) quando um URL específico é atingido. As rotas estão ligadas a “acções do controlador”, que são categorizadas pelo tipo de pedido. Por exemplo: GET, POST, PUT, DELETE, PATCH e OPTIONS.

Métodos de solicitação HTTP no Laravel Routing

GET: É utilizado para obter dados do servidor. Utiliza-o para apresentar dados. Por exemplo:

Route::get('/home', 'HomeController@index');

POST: É utilizado para enviar dados para o servidor para criar recursos ou submeter formulários. Podemos utilizá-lo desta forma, por exemplo:

Route::post('/submit', 'FormController@submit');

PUT: Este é utilizado para atualizar um recurso existente. Por exemplo:

Route::put('/user/{id}', 'UserController@update');

DELETE: Utiliza-se para eliminar um recurso. Por exemplo, podemos utilizá-lo da seguinte forma:

Route::delete('/user/{id}', 'UserController@destroy');

PATCH: Este método é semelhante ao método PUT, mas em vez de ser utilizado para atualizar um recurso (ou seja, substituir todo o recurso), é utilizado para atualizar parcialmente o recurso do utilizador. Por exemplo:

Route::patch('/user/{id}', 'UserController@patchUpdate');

OPÇÕES: É utilizado para obter informações sobre as opções de comunicação disponíveis para um recurso específico, frequentemente utilizado em pedidos de API. Não é normalmente utilizado no encaminhamento básico, mas é relevante para o tratamento de pedidos que envolvem a partilha de recursos entre origens (CORS). Por exemplo:

Route::options('/user', 'UserController@options');

Exemplo de rota com diferentes métodos HTTP

Eis como podes definir rotas com diferentes métodos HTTP no Laravel:

  • Route::get(‘/user/{id}’, ‘UserController@show’); // Este é um pedido GET
  • Route::post(‘/user’, ‘UserController@store’); // Este é um pedido POST
  • Route::put(‘/user/{id}’, ‘UserController@update’); // Este é o pedido PUT
  • Route::delete(‘/user/{id}’, ‘UserController@destroy’); // Este é o pedido DELETE

As rotas são definidas no Laravel dentro da classe Route. Elas têm um verbo HTTP, a rota para a qual responder, e um fechamento, ou uma estratégia de controlador.

Como criar rotas no Laravel

Nota: Todos os pedidos de publicação, colocação e eliminação exigem que o token CSRF seja enviado juntamente com o pedido. Caso contrário, o pedido será rejeitado. Saiba mais sobre a proteção CSRF na documentação oficial do Laravel.

Vamos ver como podes criar as tuas próprias rotas no Laravel. Vou criar uma rota básica para este exemplo, que vai imprimir uma tabela de 2 na view que vamos criar mais tarde.

À medida que eu progredir, vou refinar o nosso exemplo básico de rota, adicionando parâmetros, expressões regulares, nomeação de rotas, agrupamento e middleware.

1. Define a tua primeira rota em Laravel

Vamos começar com o básico, definindo uma rota simples no Laravel. Aqui está uma rota que imprime a tabela de multiplicação de 2 quando acedida:

Route::get('/table', function () {
  for($i = 1; $i <= 10; $i++){
  ecoa "$i * 2 = " . $i * 2 . "  
";
  }
});

Neste exemplo, estamos a utilizar um pedido GET para a rota /table , que apresenta a tabela de 2 no ecrã.

2. Cria rotas dinâmicas com parâmetros

Agora, estou a adicionar um elemento dinâmico, permitindo que os utilizadores escolham o número para a tabela de multiplicação. Desta forma, podem especificar qualquer número que queiram e o percurso imprimirá a tabela desse número:

Route::get('/table/{number}', function ($number) {
  for($i = 1; $i <= 10; $i++){
  echo "$i * $número = " . $i * $número . "  
";
  }
});

Com esta rota, quando os utilizadores acederem a /table/3, por exemplo, verão a tabuada do 3.

3. Torna os parâmetros opcionais para maior flexibilidade

E se eu quiser uma tabela padrão, mas ainda permitir que os usuários especifiquem uma, se quiserem? O Laravel permite-nos definir parâmetros opcionais, tornando as nossas rotas mais flexíveis.

Vê como:

Route::get('/table/{number?}', function ($number = 2) {
  for($i = 1; $i <= 10; $i++){
  echo "$i * $número = " . $i * $número . "  
";
  }
});

Neste caso, se um utilizador simplesmente visitar /table, irá obter a tabela de 2 por defeito. Mas se fores a /table/5, verás a tabela do 5.

4. Controla os parâmetros de rota com expressões regulares

Agora, para te certificares de que apenas números são passados para o {number} estou a adicionar uma restrição com uma expressão regular. Isto evita qualquer entrada inesperada:

Route::get('/table/{number?}', function ($number = 2) {
  for($i = 1; $i <= 10; $i++){
  echo "$i * $número = " . $i * $número . "  
";
  }
})->where('number', '[0-9]+');

Com esta restrição, se alguém tentar aceder a /table/abc, o Laravel vai lançar um erro em vez de tentar mostrar uma tabela.

5. Dá um nome às tuas rotas para facilitar a consulta

Dar nomes às rotas é útil quando queremos fazer referência a elas noutras partes da aplicação. Em vez de codificar URLs, podemos referir-nos à rota pelo seu nome. Vê aqui como adicionar um nome à nossa rota:

Route::get('/table/{number?}', function ($number = 2) {
  for($i = 1; $i <= 10; $i++){
  echo "$i * $número = " . $i * $número . "  
";
  }
})->where('number', '[0-9]+')->name('table');

Para gerar um URL para esta rota, posso agora utilizar:

$url = route('table');

E para redirecionar para esta rota:

devolve redirect()->route('table');

6. Agrupa as rotas para uma melhor organização

Agora, estou agrupando rotas para manter tudo relacionado à tabela de multiplicação organizado. Ao adicionar um prefixo, posso agrupar todas as rotas relacionadas à tabela em um caminho de URL comum. Aqui está um exemplo:

Route::prefix('table')->group(function () {
  Route::get('/{número?}', function ($número = 2) {
  for ($i = 1; $i <= 10; $i++) {
  echo "$i * $número = " . $i * $número . "  
";
  }
  });
  Route::get('/info/{número?}', 'TableController@info');
});

Nesse caso, eu agrupei essas rotas em /table, então tanto /table/{number} quanto /table/info/{number} estão aninhados sob o prefixo table. Isto mantém o meu ficheiro de rotas limpo e agrupa as coisas relacionadas com as tabelas.

7. Aplica o Middleware para um maior controlo

Agora, estou a adicionar middleware para garantir que apenas os utilizadores autenticados podem aceder às rotas da tabela. Por exemplo:

Route::middleware(['auth'])->prefix('table')->group(function () {
  Route::get('/{número?}', function ($número = 2) {
  for ($i = 1; $i <= 10; $i++) {
  echo "$i * $número = " . $i * $número . "  
";
  }
  });
});

Neste exemplo, a rota /table/{number} só pode ser acedida por utilizadores com sessão iniciada.

Utilizar uma rota básica para chamar uma vista

Em routes/web.php, define a rota para devolver uma vista com a tabela:

Route::get('/table/{number?}', function ($number = 2) {
  // Passa o 'número' para a vista
  retorna view('table', ['number' => $number]);
})->where('number', '[0-9]+');

Apresenta a tabela de 2 (predefinição) ou uma tabela para o número fornecido no URL, uma vez que temos um parâmetro opcional número no exemplo de rota acima.

Agora precisas de criar uma vista que será chamada quando o nosso URL (/table) for acedido. Para criar uma visualização, vai para o diretório resources/views e cria um arquivo table.blade.php. Nesse arquivo, podes exibir a tabela de multiplicação:

Aqui está o código que podes adicionar ao ficheiro table.blade.php que mostrará uma tabela da multiplicação de números de 1 a 10 para o número passado no URL.

<!DOCTYPE html>
<html lang="en">
<head>
 
 
</head>
<body>

Tabela de multiplicação para {{ $number }}

 

MultiplicadorResultado

@for($i = 1; $i <= 10; $i++)

{{ $i }}{{ $i * $number }}

@endfor

</body>
</html>

Agora, se acederes ao URL da rota que criámos no teu servidor local, eis o que deves ver:

E como usámos um parâmetro opcional na nossa rota, posso passar um número no URL (por exemplo, /table/5) para mostrar a tabela de multiplicação desse número.

Cria uma rota alternativa para URLs indefinidos

Agora, e se o utilizador aceder a um URL indefinido? Em vez de lhes mostrar uma mensagem de erro genérica, podemos redireccioná-los para outra página.

Podemos definir uma rota de retorno usando o método Route::fallback. Aqui tens um exemplo:

Route::fallback(function () {
  devolve response()->view('404', [], 404);
});

Com isso, se um URL não corresponder a nenhuma rota existente que criamos, eles serão direcionados para a visualização errors.404, que criaremos na próxima etapa.

Melhora o desempenho do Laravel Routing com o Cloudways

Otimiza o teu roteamento Laravel com a plataforma de hospedagem da Cloudways, com cache avançado, armazenamento SSD e pilhas de servidores otimizadas para um tratamento mais rápido de solicitações e experiências de usuário perfeitas.

Configura uma página 404 personalizada

Agora vamos criar uma exibição de página 404 para nossa rota de fallback. Para isso, cria um novo ficheiro de vista e dá-lhe o nome de 404.blade.php.

Agora adiciona-lhe este código:

<!DOCTYPE html>
<html>
<head>
 
</head>
<body>

Opa! Página não encontrada

 

Parece que a página que procuras não existe.

Regressa ao início </body> </html>

Agora vamos testá-lo.

Conclusão

Então aí tens. Este foi um tutorial básico sobre rotas em Laravel. Cobri todos os conceitos relacionados neste guia, como expressões regulares e nomeação de rotas, vinculação, agrupamento, etc.

Também aprendemos a criar vistas e a chamá-las com as nossas rotas. Até implementámos uma rota de recurso para encaminhar os utilizadores para uma página 404 para garantir uma melhor experiência do utilizador.

Também podes consultar a documentação oficial de roteamento do Laravel para aprender mais sobre roteamento. Se você quiser hospedar projetos Laravel, considere usar o Cloudways para uma experiência otimizada.

Q) O que é uma rota Laravel?
A) Uma rota Laravel é uma forma de definir como a tua aplicação responde a pedidos HTTP específicos. As rotas mapeiam URLs para métodos ou fechamentos de controladores, permitindo navegação e funcionalidade dentro do aplicativo.

Q) Qual é a diferença entre URL e route no Laravel?
A) Um URL é o endereço web de um recurso, enquanto uma rota no Laravel é um mapeamento lógico que define qual controlador ou função deve lidar com esse URL. As rotas fornecem uma maneira flexível de gerenciar URLs dinamicamente.

Q) Como utilizar as rotas da API do Laravel?
A) Define rotas de API no ficheiro routes/api.php. Essas rotas não têm estado e destinam-se a pontos de extremidade da API. Utiliza os métodos Route::get, Route::post e outros métodos para tratar os pedidos de API.

Q) Como obter o URL da rota em Laravel?
A) Utiliza a função auxiliar route() para gerar um URL para uma rota nomeada, por exemplo, route(‘routeName’). Em alternativa, utiliza a função url() para URLs personalizados.

Share your opinion in the comment section. COMMENT NOW

Share This Article

Abdul Rehman

O Abdul é um profissional de marketing experiente em tecnologia, movido a café e criativo, que adora manter-se a par das últimas actualizações de software e gadgets tecnológicos. É também um escritor técnico competente que consegue explicar conceitos complexos de forma simples para um público alargado. Abdul gosta de partilhar os seus conhecimentos sobre a indústria da nuvem através de manuais de utilizador, documentação e publicações em blogues.

×

Webinar: How to Get 100% Scores on Core Web Vitals

Join Joe Williams & Aleksandar Savkovic on 29th of March, 2021.

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Quer experimentar a plataforma Cloudways em todo o seu esplendor?

Faça um tour guiado GRATUITO pela Cloudways e veja por si mesmo como é fácil gerenciar seu servidor e suas aplicações na principal plataforma de hospedagem em nuvem.

Iniciar mi recorrido