Você está aqui: Laravel ::: Dicas & Truques ::: Route |
Como usar parâmetros de rotas GET no Laravel - Usando parâmetros GET obrigatórios e opcionais nas rotas do LaravelQuantidade de visualizações: 5390 vezes |
Em Laravel, a maioria das aplicações que escrevemos usam Route::get para o roteamento das ações, seja chamar uma determinada view ou um método em um controller. Como sabemos, o método GET nos permite passar parâmetros na URL da página, e tais parâmetros são muito úteis para se atingir algumas funcionalidades mais avançadas. Vamos começar observando a seguinte rota GET: <?php use Illuminate\Support\Facades\Route; // obtém o cliente com um determinado id Route::get('exibir_cliente/{id}', function($id){ Veja que logo após o nome da rota, nós temos o parâmetro {id}, e também passamos o valor dessa variável para a função anônima. Assim, essa rota pode ser chamada da seguinte forma: http://localhost/loja/public/exibir_cliente/340 Aqui nós poderíamos chamar uma view que mostraria o cliente com o id 240 ou poderíamos fornecer esse valor para um controller, que poderia então consultar um base de dados, construir um model, persistir esse model no banco de dados, em um arquivo, etc. É importante observar que um parâmetro fornecido dessa forma é considerado pelo Laravel como obrigatório. Caso nenhum valor seja fornecido, uma página 404 (not found) será exibida. As rotas do Laravel aceitam também os parâmetros opcionais. Vamos ver um exemplo: <?php use Illuminate\Support\Facades\Route; // obtém o cliente com um determinado id Route::get('exibir_cliente/{id?}', function($id=-1){ Veja que agora temos o parâmetro da seguinte forma: {id?}. A interrogação indica que o parâmetro é opcional. No entanto, é preciso que um valor padrão seja fornecido no corpo da closure (função anônima) da rota. Caso isso não seja feito, teremos o seguinte erro: ArgumentCountError Too few arguments to function Illuminate\Routing\RouteFileRegistrar::{closure}(), 0 passed in C:\xampp\htdocs\exemplo\vendor\laravel\framework\src\Illuminate\Routing\Route.php on line 230 and exactly 1 expected |
![]() |
Veja mais Dicas e truques de Laravel |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |