Slóðin er leið til að búa til beiðni vefslóð fyrir umsókn þína. Þessar vefslóðir þurfa ekki að vera tengdar tilteknum skrám á vefsíðu og eru læsilegar og SEO vingjarnlegar.
Í Laravel eru slóðir búnar til inni í le möppunni routes
. Þau eru búin til í skránni web.php
fyrir vefsíður og innan api.php
fyrir API.
Þessar route
er skipað í hópinn middleware
netkerfi, undirstrikar lotustöðu og öryggi CSRF
. Leiðir inn route/api.php
þau eru ríkisfangslaus og eru úthlutað í API millihugbúnaðarhópinn.
ForuppsetningindefiLaravel nita kemur með tvær leiðir, eina fyrir vefinn og eina fyrir API. Svona lítur leiðin fyrir vefinn út web.php
:
Route::get('/', function () {
return view('welcome');
});
Allar Laravel leiðir eru definiti í slóðaskránum sem staðsettar eru í möppunni routes
. Leiðarstjórnunarforritið, defilýkur í skránni App\Providers\RouteServiceProvider
, sér um að stilla þessum skrám sjálfkrafa upp. Skráin route/web.php
defigerir slóðir fyrir vefviðmótið þitt.
Það er mögulegt definish slóð fyrir þessa stjórnandi aðgerð sem hér segir:
Route::get(‘user/{id}’, ‘UserController@show’);
Route::resource
: aðferðin Route::resource
framleiðir allar helstu slóðir sem krafist er fyrir forrit og er stjórnað í gegnum stjórnandaflokkinn.
Þegar beiðni passar við tilgreinda leið URI er aðferðin kölluð til show
defilokið í stjórnandanum App\Http\ControllersUserController
, sem sendir leiðarbreytur til aðferðarinnar.
Fyrir auðlindir þarftu að gera tvennt í forritinu Laravel. Fyrst þarftu að búa til auðlindaleið á Laravel sem veitir innsetningar, uppfærslu, skoða og eyða slóðum. Í öðru lagi, búðu til auðlindastýringu sem veitir aðferð til að setja inn, uppfæra, skoða og eyða.
ForuppsetningindefiLaravel nita kemur með tvær leiðir: eina fyrir vefinn og eina fyrir API. Svona lítur leiðin á vefinn út í web.php:
Route::get(‘/’, function () {
return view(‘welcome’);
});
Laravel millibúnaður virkar sem brú á milli beiðni og viðbragða. Það getur verið einhvers konar síuhluti.
Laravel vinna með a millitæki sem hefur það verkefni að staðfesta hvort umsókn viðskiptavinar sé staðfest eða ekki. Ef viðskiptavinurinn er staðfestur, þá vísar beina áfram á heimasíðuna eða innskráningarsíðu.
route
Fyrri kóðinn defifer leið á heimasíðuna. Alltaf þegar þessi leið berst beiðni get
á /
, mun skila view
welcome
.
Allar Laravel leiðir eru definiti í þínum routing
, sem eru staðsettir inni í skránni dei routes
. Þar af leiðandi, l'AppProvidersRouteServiceProvider
umsóknarinnar raðar þessum gögnum upp. Skráin route/web.php
inniheldur leiðir sem er stjórnað fyrir vefviðmótið þitt.
Uppbygging leiðarinnar er mjög einföld. Opnaðu viðeigandi skrá (`web.php
` o `api.php
` ) og byrjaðu kóðalínuna með `Route:: `
, fylgt eftir með beiðninni sem þú vilt úthluta á þá tilteknu leið og tilgreindu síðan aðgerðina sem verður framkvæmt í kjölfar beiðninnar.
Laravel býður upp á eftirfarandi leiðaraðferðir:
get
post
put
delete
patch
options
Leiðir eru defisett í Laravel í leiðarflokknum með HTTP, leiðinni til að svara og loka, eða stjórnandann.
Við skulum sjá hvernig þú getur búið til þínar eigin leiðir í Laravel.
Nú ætla ég að búa til grunnslóð sem mun prenta tímatöfluna af 2.
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
Í kóðanum hér að ofan bjó ég til GET beiðnislóð fyrir slóðina /table
, sem mun prenta tímatöfluna af 2 á skjáinn.
Nú skulum við sjá sama kóðann, stilla töluna sem við viljum margföldunartöfluna fyrir:
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
Í kóðanum er 'number
' á milli sviga táknar færibreytuna, þ.e.a. töluna sem margföldunartaflan verður reiknuð út fyrir. Alltaf þegar vefslóð af gerðinni er tilgreind /table/n
, þá verður talnataflan prentuð n
.
Það er líka leiðin til að sameina báða eiginleikana á einni leið. Laravel býður upp á valfrjálsa færibreytur sem gerir þér kleift að bæta við valkvæðum breytum með því að nota spurningarmerkið '?' á eftir valfrjálsu færibreytunni og forgildinudefikvöld. Við skulum sjá dæmið:
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
Í kóðanum hér að ofan bjuggum við til leiðarbreytu okkar, sem gerir númerið valfrjálst, þannig að ef notandi leiðir `/table
` þá mun það búa til töfluna með 2 sjálfgefiðdefinite og ef notandi leiðir til `/table/{number}
Síðan talnataflan 'number'
verður framleitt.
Í fyrra dæminu bjuggum við til slóð til að búa til margföldunartöfluna, en hvernig getum við tryggt að færibreytan á slóðinni sé í raun tala, til að forðast villur við gerð margföldunartöflunnar?
Í Laravel geturðu definish a þvingun á leiðarbreytu með því að nota ` aðferðwhere
` á leiðartilvikinu. The `where
` tekur færibreytuna og reglubundna tjáningu fyrir þá færibreytu.
Nú skulum við sjá dæmi um þvingun fyrir ` breytu okkar{numero}
` til að ganga úr skugga um að aðeins tala sé send til fallsins.
Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {
for( $i = 1 ; $i < = 10 ; $i + + ) {
echo "$i * $numero = " . $i * $numero . "<br>" ;
}
} )->where( 'numero' , '[0-9]+' ) ;
Í kóðanum hér að ofan notuðum við venjulega segð fyrir slóðarnúmerið. Nú, ef notandi reynir að leiða til /tafla/nr verður birt NotFoundHttpException undantekning.
Í Laravel geturðu definish Controller aðferð fyrir slóð. Stjórnandi aðferð framkvæmir allar aðgerðir defikvöld í hvert sinn sem notandi fer inn á leiðina.
Með eftirfarandi kóða erum við að úthluta stjórnunaraðferðinni 'functionname'
á leið:
Route:: get ( '/home' , 'YourController@functionname' ) ;
Kóðinn byrjar á `Route::`
og því definishs beiðni aðferð fyrir slóð. Í kjölfarið, defiLjúktu við slóðina þína og stjórnandi ásamt aðferðinni með því að bæta @ tákninu á undan aðferðarheitinu.
Í Laravel geturðu definish nafn á leið þína. Þetta nafn er oft mjög gagnlegt. Til dæmis, ef þú vilt beina notanda frá einum stað til annars, þarftu það ekki definish alla tilvísunarslóðina. Þú getur bara gefið upp nafnið hans. Þú getur defiklára leiðarheitið með ` aðferðinniname
` í leiðartilvikinu.
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’);
Nú gæti ég endurskapað slóðina fyrir þessa slóð með eftirfarandi kóða:
$url = route('table');
Á sama hátt, til að beina á þessa vefslóð, væri rétt setningafræði:
return redirect()->route('table');
Route Groups
I Route Groups
, bókstaflega slóðahópar, er ómissandi eiginleiki í Laravel, sem gerir þér kleift að flokka slóðir. Slóðahópar eru gagnlegir þegar þú vilt nota eiginleika á allar flokkaðar slóðir. Ef þú notar slóðahópa þarftu ekki að nota eiginleikana fyrir sig á hverja slóð; þetta kemur í veg fyrir tvíverknað. Það gerir þér kleift að deila eiginleikum eins og middleware
o namespaces
, Senza defiklára þessa eiginleika á hverri einstaka leið. Hægt er að senda þessa sameiginlegu eiginleika á fylkissniði sem fyrstu færibreytu aðferðarinnar Route::group
.
Setningafræði leiðarhóps
Route::group([], callback);
Dove []: er fylki sem er sent til hópaðferðarinnar sem fyrsta færibreytan.
Dæmi um Route Group
í vefur.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" ;
});
});
Í kóðanum, defifinnum aðferðina hópur(), sem inniheldur færibreyturnar tvær, þ.e array
e closure
. Inni í closure
, við getum defiklára hversu marga route
við viljum. Í ofangreindum kóða höfum við defikláraði þrjú route
.
Ef við fáum aðgang að vefslóðinni í gegnum vafra localhost/myproject/first
þá grípur sá fyrsti inn í route
skrifa í vafranum first way route
.
Með slóðinni localhost/myproject/second
svo kemur annað route
skrifa í vafranum second way route
.
Á meðan þú ert með slóðina localhost/myproject/third
þá kemur sá þriðji route
skrifa í vafranum third way route
.
Route Groups
Forskeyti í route
þau eru notuð þegar við viljum gefa upp vefslóðaskipulag sem er sameiginlegt mörgum route
.
Við getum tilgreint forskeytið fyrir allar leiðir definites innan hópsins með því að nota forskeyti fylkisvalkostinn í Route Groups
.
Dæmi um 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";
});
});
Kóðinn inniheldur þrjár slóðir sem hægt er að nálgast frá eftirfarandi vefslóðum:
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
Við getum líka úthlutað millibúnaði á allar leiðir innan hóps. Millibúnaðurinn verður að vera defilokið áður en hópurinn var stofnaður. Til að sjá hvernig á að gera þetta skaltu lesa greinina okkar Laravel millihugbúnaður hvernig það virkar.
Dæmi:
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";
});
});
Aðferðin name
er notað til að forskeyta hvert nafn á route
með tilgreindum streng. Í aðferðinni name
, við þurfum að tilgreina strenginn með staf á eftir í forskeytinu.
dæmi web.php
Route::name('movie.')->group(function()
{
Route::get('users', function()
{
return "movie.films";
})->name('films');
});
Ercole Palmeri
Síðasta mánudag tilkynnti Financial Times um samning við OpenAI. FT leyfir heimsklassa blaðamennsku…
Milljónir manna borga fyrir streymisþjónustu og greiða mánaðarlega áskriftargjöld. Það er almenn skoðun að þú…
Coveware frá Veeam mun halda áfram að veita viðbragðsþjónustu fyrir tölvukúgun. Coveware mun bjóða upp á réttar- og úrbótamöguleika ...
Forspárviðhald er að gjörbylta olíu- og gasgeiranum, með nýstárlegri og fyrirbyggjandi nálgun við verksmiðjustjórnun.…