Greinar

Laravel: kynning á laravel leið

Leiðsögn í Laravel gerir notendum kleift að beina öllum umsóknarbeiðnum til viðeigandi stjórnanda. Flestar aðalleiðir í Laravel þekkja og samþykkja Uniform Asset Identifier ásamt lokun, sem veitir einfalda og svipmikla leið til leiðar.

Hvað er leið (leið)?

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');
});

Hver er leið í Laravel?

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.

Aðferðirnar fyrir 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.phpo `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.

Hvernig á að búa til slóðir í Laravel

Við skulum sjá hvernig þú getur búið til þínar eigin leiðir í Laravel.

Grunn GET leið

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.

Regluleg segð sem skorður fyrir leiðarfæribreytur

Í 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ýsköpunarfréttabréf
Ekki missa af mikilvægustu fréttunum um nýsköpun. Skráðu þig til að fá þau með tölvupósti.

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 Routing með stjórnunaraðgerð

Í 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.

Gefðu slóðinni nafn

Í 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.

Forskeyti af 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

Middleware

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";  
   });  
  
});  

Forskeyti slóðarheita

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

Nýsköpunarfréttabréf
Ekki missa af mikilvægustu fréttunum um nýsköpun. Skráðu þig til að fá þau með tölvupósti.

Nýlegar greinar

Útgefendur og OpenAI skrifa undir samninga um að stjórna flæði upplýsinga sem unnið er með gervigreind

Síðasta mánudag tilkynnti Financial Times um samning við OpenAI. FT leyfir heimsklassa blaðamennsku…

30 Apríl 2024

Greiðslur á netinu: Hér er hvernig streymisþjónusta gerir þér kleift að borga að eilífu

Milljónir manna borga fyrir streymisþjónustu og greiða mánaðarlega áskriftargjöld. Það er almenn skoðun að þú…

29 Apríl 2024

Veeam býður upp á umfangsmesta stuðninginn fyrir lausnarhugbúnað, allt frá vernd til viðbragða og bata

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 ...

23 Apríl 2024

Græn og stafræn bylting: Hvernig forspárviðhald er að umbreyta olíu- og gasiðnaðinum

Forspárviðhald er að gjörbylta olíu- og gasgeiranum, með nýstárlegri og fyrirbyggjandi nálgun við verksmiðjustjórnun.…

22 Apríl 2024