O caminho é uma maneira de criar uma URL de solicitação para seu aplicativo. Esses URLs não precisam ser associados a arquivos específicos em um site e são legíveis por humanos e otimizados para SEO.
No Laravel, os caminhos são criados dentro da pasta le routes
. Eles são criados no arquivo web.php
para sites e dentro api.php
para APIs.
Estes route
são atribuídos ao grupo middleware
rede, destacando o status e a segurança da sessão CSRF
. As rotas em route/api.php
eles não têm estado e são atribuídos ao grupo de middleware da API.
A pré-instalaçãodefiO Laravel nita vem com dois caminhos, um para a web e outro para a API. É assim que o caminho para a web se parece web.php
:
Route::get('/', function () {
return view('welcome');
});
Todos os caminhos do Laravel são definiti nos arquivos de caminho localizados dentro do diretório routes
. O aplicativo de gerenciamento de rotas, defifinalizado no arquivo App\Providers\RouteServiceProvider
, cuida do alinhamento automático desses arquivos. O arquivo route/web.php
defifinaliza os caminhos para sua interface web.
você pode defiTermine um caminho para esta ação do controlador da seguinte maneira:
Route::get(‘user/{id}’, ‘UserController@show’);
Route::resource
: o método Route::resource
produz todos os caminhos básicos necessários para um aplicativo e é gerenciado por meio da classe controladora.
Quando uma solicitação corresponde ao URI de rota especificado, o método é invocado show
defifinalizado no controlador App\Http\ControllersUserController
, passando os parâmetros de rota para o método.
Para recursos, você precisa fazer duas coisas no aplicativo Laravel. Primeiro, você precisa criar um caminho de recurso em Laravel que fornece caminhos de inserção, atualização, visualização e exclusão. Em segundo lugar, crie um controlador de recursos que forneça um método para inserir, atualizar, visualizar e excluir.
A pré-instalaçãodefiO Laravel nita vem com dois caminhos: um para a web e outro para a API. Aqui está a aparência da rota para web em web.php:
Route::get(‘/’, function () {
return view(‘welcome’);
});
Middleware Laravel atua como uma ponte entre o pedido e a reação. Pode ser algum tipo de componente de filtro.
Laravel trabalhar com um middleware que tem a função de confirmar se a aplicação cliente é verificada ou não. Caso o cliente seja confirmado, o roteamento redireciona para a página inicial ou para uma página de login.
route
O código anterior defitermina um caminho para a página inicial. Sempre que esta rota receber uma requisição get
para /
, retornará o view
welcome
.
Todos os caminhos do Laravel são definiti em seu routing
, que estão localizados dentro do diretório dei routes
. Consequentemente, l'AppProvidersRouteServiceProvider
do aplicativo alinha esses registros. O arquivo route/web.php
contém as rotas que são gerenciadas para sua interface web.
A estrutura do caminho é muito simples. Abra o arquivo apropriado (`web.php
` o `api.php
` ) e inicie a linha de código com `Route:: `
, seguido da solicitação que você deseja atribuir a essa rota específica e, em seguida, especifique a função que será executada após a solicitação.
O Laravel oferece os seguintes métodos de caminho:
get
post
put
delete
patch
options
os caminhos são definited em Laravel dentro da classe Route com HTTP, a rota para responder e fechar, ou o controlador.
Vamos ver como você pode criar seus próprios caminhos no Laravel.
Agora vou criar um caminho básico que imprimirá a tabuada de 2.
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
No código acima, criei um caminho de solicitação GET para a URL /table
, que imprimirá a tabuada de 2 na tela.
Agora vamos ver o mesmo código, parametrizando o número para o qual queremos a tabuada:
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
No código o 'number
' entre chaves representa o parâmetro, ou seja, o número para o qual a tabuada será calculada. Sempre que uma URL do tipo for especificada /table/n
, então a tabela numérica será impressa n
.
Existe também a maneira de combinar os dois recursos em um caminho. O Laravel oferece o recurso de parâmetros opcionais que permite adicionar parâmetros opcionais usando o ponto de interrogação '?' após o parâmetro opcional e o valor prédefinoite. Vejamos o exemplo:
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
No código acima criamos nosso parâmetro de rota, tornando o número opcional, então se um usuário rotear `/table
` então ele irá gerar a tabela de 2 por padrãodefinite e se um usuário rotear para `/table/{number}
Então a tabela de números 'number'
será produzido.
No exemplo anterior criamos um caminho para gerar a tabuada, mas como garantir que o parâmetro do caminho seja realmente um número, para evitar erros na hora de gerar a tabuada?
No Laravel, você pode defiterminar uma restrição no parâmetro de rota usando o método `where
` na instância da rota. o `where
` pega o nome do parâmetro e uma expressão regular para esse parâmetro.
Agora vamos ver um exemplo de restrição para nosso parâmetro `{numero}
` para garantir que apenas um número seja passado para a função.
Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {
for( $i = 1 ; $i < = 10 ; $i + + ) {
echo "$i * $numero = " . $i * $numero . "<br>" ;
}
} )->where( 'numero' , '[0-9]+' ) ;
No código acima, usamos uma expressão regular para o número do caminho. Agora, se um usuário tentar rotear para /mesa/não será mostrado uma exceção NotFoundHttpException.
No Laravel, você pode defiTerminar um método Controller para uma rota. Um método do controlador executa todas as ações definite toda vez que um usuário acessa a rota.
Com o código a seguir, estamos atribuindo o método do controlador 'functionname'
para uma rota:
Route:: get ( '/home' , 'YourController@functionname' ) ;
O código começa com `Route::`
e, em seguida defifinaliza o método de solicitação para o caminho. Subseqüentemente, defiTermine seu caminho e controlador junto com o método adicionando o símbolo @ antes do nome do método.
No Laravel, você pode defiDê um nome para o seu caminho. Esse nome costuma ser muito útil. Por exemplo, se você deseja redirecionar um usuário de um local para outro, não precisa defiTermine o URL de redirecionamento completo. Você pode apenas dar o nome dele. Você pode defiterminar o nome da rota usando o método `name
` na instância da rota.
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
})->where('number', '[0-9]+')->name(‘table’);
Agora, eu poderia regenerar a url para este caminho, através do seguinte código:
$url = route('table');
Da mesma forma, para redirecionar para este URL, a sintaxe correta seria:
return redirect()->route('table');
Route Groups
I Route Groups
, literalmente grupos de caminho, é um recurso essencial no Laravel, que permite agrupar caminhos. Os grupos de caminhos são úteis quando você deseja aplicar atributos a todos os caminhos agrupados. Se você usar grupos de caminhos, não precisará aplicar os atributos individualmente a cada caminho; isso evita a duplicação. Ele permite que você compartilhe atributos como middleware
o namespaces
Sem defiterminar esses atributos em cada caminho individual. Esses atributos compartilhados podem ser passados em um formato de array como o primeiro parâmetro para o método Route::group
.
Sintaxe de um grupo de rotas
Route::group([], callback);
pomba []: é uma matriz passada para o método de grupo como o primeiro parâmetro.
Exemplo de Route Group
em web.php
Route::group([], function()
{
Route::get('/first' , function()
{
echo "first way route" ;
});
Route::get('/second' , function()
{
echo "second way route" ;
});
Route::get('/third' , function()
{
echo "third way route" ;
});
});
No código, defivamos encontrar o método grupo(), que contém os dois parâmetros, ou seja, array
e closure
. Dentro de closure
, Podemos defiterminar quantos route
nós queremos. No código acima, temos defiterminou três route
.
Se através do navegador acessarmos a URL localhost/myproject/first
então o primeiro intervém route
digitando no navegador first way route
.
Com o URL localhost/myproject/second
depois vem o segundo route
digitando no navegador second way route
.
Enquanto com o URL localhost/myproject/third
depois vem o terceiro route
digitando no navegador third way route
.
Route Groups
Os prefixos de route
eles são usados quando queremos fornecer uma estrutura de URL comum a vários route
.
Podemos especificar o prefixo para todos os caminhos definites dentro do grupo usando a opção de matriz de prefixo em Route Groups
.
Exemplo de web.php
Route::group(['prefix' => 'movie'], function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
O código contém três caminhos que podem ser acessados nas seguintes URLs:
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
Também podemos atribuir middleware a todas as rotas dentro de um grupo. O middleware deve ser defiterminou antes de criar o grupo. Para ver como fazer isso, leia nosso artigo Laravel middleware como funciona.
exemplo:
Route::middleware(['age'])->group( function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
O método name
é usado para prefixar cada nome de route
com uma string especificada. no método name
, precisamos especificar a string com um caractere à direita no prefixo.
Exemplo web.php
Route::name('movie.')->group(function()
{
Route::get('users', function()
{
return "movie.films";
})->name('films');
});
Ercole Palmeri
A Coveware by Veeam continuará a fornecer serviços de resposta a incidentes de extorsão cibernética. A Coveware oferecerá recursos forenses e de remediação…
A manutenção preditiva está revolucionando o setor de petróleo e gás, com uma abordagem inovadora e proativa para o gerenciamento de plantas.…
A CMA do Reino Unido emitiu um alerta sobre o comportamento da Big Tech no mercado de inteligência artificial. Lá…
O Decreto "Case Green", formulado pela União Europeia para melhorar a eficiência energética dos edifícios, concluiu o seu processo legislativo com…