Stien er en måde at oprette en anmodnings-URL til din applikation. Disse URL'er behøver ikke at være knyttet til specifikke filer på en hjemmeside og er læselige og SEO-venlige.
I Laravel oprettes stier inde i le-mappen routes
. De oprettes i filen web.php
til hjemmesider og indenfor api.php
til API'er.
Disse route
er tildelt gruppen middleware
netværk, der fremhæver sessionsstatus og sikkerhed CSRF
. Ruterne i route/api.php
de er statsløse og er tildelt API-middleware-gruppen.
ForinstallationendefiLaravel nita kommer med to stier, en til internettet og en til API. Sådan ser vejen til web ind web.php
:
Route::get('/', function () {
return view('welcome');
});
Alle Laravel stier er definiti i stifilerne i mappen routes
. Rutestyringsapplikationen, defiafsluttet i filen App\Providers\RouteServiceProvider
, sørger for automatisk at opstille disse filer. Filen route/web.php
defiafslutter stierne til din webgrænseflade.
È mulig definish en sti til denne controllerhandling som følger:
Route::get(‘user/{id}’, ‘UserController@show’);
Route::resource
: metoden Route::resource
producerer alle de grundlæggende stier, der kræves til en applikation og styres gennem controllerklassen.
Når en anmodning matcher den angivne rute-URI, påkaldes metoden show
defifærdig i controlleren App\Http\ControllersUserController
, der overfører ruteparametrene til metoden.
For ressourcer skal du gøre to ting på applikationen Laravel. Først skal du oprette en ressourcesti på Laravel der giver indsætte, opdatere, se og slette stier. For det andet skal du oprette en ressourcecontroller, der giver en metode til indsættelse, opdatering, visning og sletning.
ForinstallationendefiLaravel nita kommer med to stier: en til internettet og en til API. Sådan ser ruten til nettet ud i web.php:
Route::get(‘/’, function () {
return view(‘welcome’);
});
Laravel mellemvare fungerer som en bro mellem anmodningen og reaktionen. Det kan være en slags filterkomponent.
Laravel arbejde med en middleware som har til opgave at bekræfte, om klientapplikationen er verificeret eller ej. Hvis klienten er bekræftet, omdirigeres routing til startsiden eller en login-side.
route
Den forrige kode defifører en vej til hjemmesiden. Hver gang denne rute modtager en anmodning get
per /
, vil returnere view
welcome
.
Alle Laravel stier er definiti i din routing
, som er placeret inde i biblioteket dei routes
. Følgelig, l'AppProvidersRouteServiceProvider
af ansøgningen opstiller disse registreringer. Filen route/web.php
indeholder de ruter, der administreres til din webgrænseflade.
Stistrukturen er meget enkel. Åbn den relevante fil (`web.php
` o `api.php
` ) og start kodelinjen med `Route:: `
, efterfulgt af den anmodning, du vil tildele til den specifikke rute, og angiv derefter den funktion, der skal udføres efter anmodningen.
Laravel tilbyder følgende stimetoder:
get
post
put
delete
patch
options
Stierne er definoteret i Laravel inden for ruteklassen med HTTP, ruten til at svare på og lukke eller controlleren.
Lad os se, hvordan du kan skabe dine egne stier i Laravel.
Nu vil jeg oprette en grundlæggende sti, der vil udskrive tidstabellen for 2.
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
I ovenstående kode oprettede jeg en GET-anmodningssti til URL'en /table
, som vil udskrive tidstabellen for 2 på skærmen.
Lad os nu se den samme kode, der parametrerer det tal, som vi vil have multiplikationstabellen for:
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
I koden 'number
' mellem klammerne repræsenterer parameteren, dvs. det tal, som multiplikationstabellen vil blive beregnet for. Når en URL af typen er angivet /table/n
, så udskrives taltabellen n
.
Der er også en måde at kombinere begge funktioner på én vej. Laravel tilbyder den valgfrie parameterfunktion, som giver dig mulighed for at tilføje valgfrie parametre ved hjælp af spørgsmålstegnet '?' efter den valgfrie parameter og præværdiendefiaften. Lad os se eksemplet:
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
I koden ovenfor oprettede vi vores ruteparameter, hvilket gør tallet valgfrit, så hvis en bruger ruter `/table
` så vil den generere tabellen med 2 som standarddefinite og hvis en bruger ruter til `/table/{number}
Derefter taltabellen 'number'
vil blive produceret.
I det foregående eksempel lavede vi en sti til generering af multiplikationstabellen, men hvordan kan vi sikre, at parameteren for stien faktisk er et tal, for at undgå fejl ved generering af multiplikationstabellen?
I Laravel kan du definish en begrænsning på ruteparameteren ved at bruge ` metodenwhere
` på ruteforekomsten. Den `where
` tager parameternavnet og et regulært udtryk for den parameter.
Lad os nu se et eksempel på en begrænsning for vores ` parameter{numero}
` for at sikre, at kun et tal sendes til funktionen.
Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {
for( $i = 1 ; $i < = 10 ; $i + + ) {
echo "$i * $numero = " . $i * $numero . "<br>" ;
}
} )->where( 'numero' , '[0-9]+' ) ;
I ovenstående kode brugte vi et regulært udtryk for stinummeret. Nu, hvis en bruger forsøger at rute til /tabel/nr vil blive vist en NotFoundHttpException undtagelse.
I Laravel kan du definish en Controller-metode til en sti. En controller-metode udfører alle handlinger definat hver gang en bruger tilgår ruten.
Med følgende kode tildeler vi controller-metoden 'functionname'
til en rute:
Route:: get ( '/home' , 'YourController@functionname' ) ;
Koden starter med `Route::`
og derfor defiafslutter anmodningsmetoden for stien. Efterfølgende defiAfslut din sti og controller sammen med metoden ved at tilføje @-symbolet før metodenavnet.
I Laravel kan du definish et navn til din vej. Dette navn er ofte meget nyttigt. Hvis du f.eks. vil omdirigere en bruger fra et sted til et andet, behøver du ikke defiafslutte den fulde omdirigerings-URL. Du kan bare give hans navn. Du kan defiafslut rutenavnet ved at bruge `-metodenname
` i ruteforekomsten.
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’);
Nu kunne jeg genskabe url'en til denne sti gennem følgende kode:
$url = route('table');
Tilsvarende, for omdirigering til denne URL, ville den korrekte syntaks være:
return redirect()->route('table');
Route Groups
I Route Groups
, bogstaveligt talt stigrupper, er en væsentlig funktion i Laravel, som giver dig mulighed for at gruppere stier. Stigrupper er nyttige, når du vil anvende attributter på alle grupperede stier. Hvis du bruger stigrupper, behøver du ikke at anvende attributterne individuelt på hver sti; dette undgår dobbeltarbejde. Det giver dig mulighed for at dele attributter som middleware
o namespaces
, uden defifærdiggør disse attributter på hver enkelt vej. Disse delte attributter kan overføres i et array-format som den første parameter til metoden Route::group
.
Syntaks for en rutegruppe
Route::group([], callback);
due []: er et array, der sendes til gruppemetoden som den første parameter.
Eksempel på Route Group
nel 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" ;
});
});
I koden, defilad os finde metoden gruppe(), som indeholder de to parametre, dvs array
e closure
. Inde i closure
, vi kan defiafslutte hvor mange route
vi vil have. I ovenstående kode har vi defifærdig med tre route
.
Hvis vi får adgang til URL'en via browseren localhost/myproject/first
så griber den første ind route
skrive i browseren first way route
.
Med URL'en localhost/myproject/second
så kommer det andet route
skrive i browseren second way route
.
Mens med URL'en localhost/myproject/third
så kommer den tredje route
skrive i browseren third way route
.
Route Groups
Præfikserne af route
de bruges, når vi ønsker at give en URL-struktur, der er fælles for flere route
.
Vi kan angive præfikset for alle stier definites inden for gruppen ved hjælp af præfiks-array-indstillingen i Route Groups
.
Eksempel på 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";
});
});
Koden indeholder tre stier, der kan tilgås fra følgende URL'er:
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
Vi kan også tildele middleware til alle ruter inden for en gruppe. Mellemvaren skal være defifærdig før oprettelse af gruppen. For at se, hvordan du gør dette, læs vores artikel Laravel middleware, hvordan det virker.
esempio:
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";
});
});
Metoden name
bruges til at præfikse hvert navn på route
med en specificeret streng. I metoden name
, skal vi angive strengen med et efterfølgende tegn i præfikset.
eksempel web.php
Route::name('movie.')->group(function()
{
Route::get('users', function()
{
return "movie.films";
})->name('films');
});
Ercole Palmeri
Coveware by Veeam vil fortsætte med at levere responstjenester til cyberafpresning. Coveware vil tilbyde kriminaltekniske og afhjælpende funktioner...
Forudsigende vedligeholdelse revolutionerer olie- og gassektoren med en innovativ og proaktiv tilgang til anlægsstyring...
Det britiske CMA har udsendt en advarsel om Big Techs adfærd på markedet for kunstig intelligens. Der…
Dekretet om "grønne huse", der er formuleret af Den Europæiske Union for at øge bygningers energieffektivitet, har afsluttet sin lovgivningsproces med...