Ìwé

Laravel: ifihan to laravel afisona

Lilọ kiri ni Laravel gba awọn olumulo laaye lati darí gbogbo awọn ibeere ohun elo si oludari ti o yẹ. Pupọ julọ awọn ipa-ọna akọkọ ni Laravel ṣe idanimọ ati gba idanimọ Ohun-ini Aṣọ kan papọ pẹlu pipade, pese ọna ti o rọrun ati asọye ti afisona.

Kini ipa ọna?

Ọna naa jẹ ọna lati ṣẹda URL ibeere fun ohun elo rẹ. Awọn URL wọnyi ko ni lati ni nkan ṣe pẹlu awọn faili kan pato lori oju opo wẹẹbu kan ati pe o ṣee ka ati SEO-iṣapeye.

Ni Laravel, awọn ọna ti ṣẹda laarin folda awọn faili routes. Wọn ṣẹda ninu faili naa web.php fun awọn aaye ayelujara, ati laarin api.php fun APIs.

Iwọnyi route ti wa ni sọtọ si awọn ẹgbẹ middleware nẹtiwọki, afihan igba ipinle ati aabo CSRF. Awọn ọna inu route/api.php wọn jẹ alaini orilẹ-ede ati pe a yàn wọn si ẹgbẹ agbedemeji API.
Awọn ṣaaju-fifi soridefiLaravel nita wa pẹlu awọn ọna meji, ọkan fun oju opo wẹẹbu ati ekeji fun API. Eyi ni ohun ti oju-ọna si oju opo wẹẹbu ṣe dabi web.php:

Route::get('/', function () {
   return view('welcome');
});

Kini ipa ọna ni Laravel?

Gbogbo awọn ọna Laravel jẹ definited ni awọn faili ọna ti a rii laarin itọsọna naa routes. Ohun elo iṣakoso ipa ọna, definited ninu faili App\Providers\RouteServiceProvider, n ṣe abojuto tito lẹsẹsẹ awọn faili wọnyi laifọwọyi. Faili naa route/web.php definishes awọn ipa-ọna fun wiwo wẹẹbu rẹ.

O ṣee ṣe definish ọna kan fun igbese oludari yii bi atẹle:

Route::get(‘user/{id}’, ‘UserController@show’);

Route::resource: ọna Route::resource ṣe agbejade gbogbo awọn ọna ipilẹ ti o nilo fun ohun elo kan ati pe o ṣakoso nipasẹ kilasi oludari.

Nigbati ibeere ba baamu URI ti a ti sọ tẹlẹ, ọna naa ni a pe show definited ni oludari App\Http\ControllersUserController, Gbigbe awọn paramita ipa-ọna si ọna naa.

Fun awọn orisun, o nilo lati ṣe awọn nkan meji lori ohun elo naa Laravel. Ni akọkọ, o nilo lati ṣẹda ọna orisun lori Laravel ti o pese ifibọ, imudojuiwọn, wo ati paarẹ awọn ọna. Ẹlẹẹkeji, ṣẹda oluṣakoso ohun elo ti o pese ọna fun fifi sii, imudojuiwọn, wiwo, ati piparẹ.

Awọn ṣaaju-fifi soridefiLaravel nita wa pẹlu awọn ọna meji: ọkan fun oju opo wẹẹbu ati ekeji fun API. Eyi ni ohun ti ipa ọna wẹẹbu dabi ni web.php:

Route::get(‘/’, function () {

return view(‘welcome’);

});

Laravel Middleware ìgbésẹ bi a Afara laarin awọn ìbéèrè ati awọn lenu. O le jẹ iru paati àlẹmọ kan.

Laravel ṣiṣẹ pẹlu a agbedemeji eyi ti o ni iṣẹ-ṣiṣe ti ifẹsẹmulẹ boya ohun elo onibara jẹ iṣeduro tabi rara. Ni ọran ti alabara ba jẹrisi, lẹhinna itọsọna afisona si oju-iwe ile tabi oju-iwe iwọle kan.

Awọn ọna fun route

Awọn ti tẹlẹ koodu defiọna kan si oju-iwe ile yoo han. Nigbakugba ti ọna yii ba gba ibeere kan get fun /, yoo pada awọn view welcome

Gbogbo awọn ọna Laravel jẹ definited ninu awọn faili rẹ routing, eyi ti o wa ni inu itọsọna dei routes. Nitoribẹẹ, l'AppProvidersRouteServiceProvider ti awọn ohun elo laini soke awọn wọnyi igbasilẹ. Faili naa route/web.php ni awọn ipa-ọna ti a ṣakoso fun wiwo wẹẹbu rẹ.

Ilana ti awọn ipa ọna jẹ irorun. Ṣii faili ti o yẹ (`web.phpo `api.php) ki o si bẹrẹ ila ti koodu pẹlu `Route:: `, atẹle nipa ibeere ti o fẹ lati fi si ọna kan pato ati lẹhinna pato iṣẹ ti yoo ṣe ni atẹle ibeere naa.

Laravel nfunni ni awọn ọna wọnyi:

  • get
  • post
  • put
  • delete
  • patch
  • options

Awọn ipa-ọna jẹ definited ni Laravel inu kilasi Ipa ọna pẹlu HTTP, ipa ọna lati dahun si ati pipade, tabi oludari.

Bii o ṣe le ṣẹda awọn ọna ni Laravel

Jẹ ki a wo bii o ṣe le ṣẹda awọn ipa-ọna tirẹ ni Laravel.

A ipilẹ GET ona

Bayi Emi yoo ṣẹda ọna ipilẹ ti yoo tẹjade tabili igba 2.

Route::get('/table', function () {
   for($i =1; $i <= 10 ; $i++){
       echo "$i * 2 = ". $i*2 ."<br>";
   }   
});

Ninu koodu ti o wa loke, Mo ṣẹda ọna ibeere GET fun URL naa /table, eyi ti yoo tẹ sita 2 igba tabili loju iboju.

Jẹ ki a wo koodu kanna, parameterizing nọmba fun eyiti a fẹ tabili isodipupo:

Route::get('/table/{number}', function ($number) {
   for($i =1; $i <= 10 ; $i++){
       echo "$i * $number = ". $i* $number ."<br>";
   }   
});

Ninu koodu naa 'number'Laarin awọn biraketi iṣupọ duro fun paramita, ie nọmba fun eyiti tabili isodipupo yoo ṣe iṣiro. Nigbakugba ti URL bi eleyi ti wa ni pato /table/n, lẹhinna tabili nọmba yoo wa ni titẹ n.

Ọna tun wa lati darapo awọn ẹya mejeeji sinu ọna kan. Laravel nfunni ẹya ara ẹrọ awọn paramita aṣayan ti o fun ọ laaye lati ṣafikun awọn paramita iyan nipa lilo ami ibeere '?' lẹhin iyan paramita ati awọn ami iyedefinite. Jẹ ki a wo apẹẹrẹ:

Route::get('/table/{number?}', function ($number = 2) {
   for($i =1; $i <= 10 ; $i++){
       echo "$i * $number = ". $i* $number ."<br>";
   }   
});

Ninu koodu ti o wa loke a ṣẹda paramita ipa-ọna wa, ṣiṣe nọmba naa ni iyan, nitorinaa ti olumulo ba n lọ `/table` lẹhinna yoo ṣe agbekalẹ tabili ti 2 nipasẹ eto iṣaajudefinita ati ti olumulo ba nlo si `/table/{number}O jẹ Nitorina tabili nọmba 'number' yoo ṣe iṣelọpọ.

Awọn ikosile deede bi awọn ihamọ fun awọn paramita ipa-ọna

Ninu apẹẹrẹ ti tẹlẹ a ṣẹda ọna fun ṣiṣẹda tabili isodipupo, ṣugbọn bawo ni a ṣe le rii daju pe paramita ọna jẹ nọmba gangan, lati yago fun awọn aṣiṣe lakoko iran ti tabili isodipupo?

Ni Laravel, o le definish ihamọ kan lori paramita ipa-ọna nipa lilo ọna `where` lori apẹẹrẹ ipa-ọna. Awọn `where` gba orukọ paramita ati ikosile deede fun paramita yẹn.

Iwe iroyin Innovation
Maṣe padanu awọn iroyin pataki julọ lori isọdọtun. Forukọsilẹ lati gba wọn nipasẹ imeeli.

Bayi jẹ ki a wo apẹẹrẹ ti ihamọ fun paramita wa `{numero}`lati rii daju pe nọmba kan nikan ni o kọja si iṣẹ naa.

Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {    
   for( $i = 1 ; $i < = 10 ; $i + + ) {   
       echo "$i * $numero = " . $i * $numero . "<br>" ; 
   }   
} )->where( 'numero' , '[0-9]+' ) ;

Ninu koodu ti o wa loke, a ti lo ikosile deede fun nọmba ọna. Bayi, ti olumulo kan ba gbiyanju lati ipa ọna si /tabili/ko si , yoo han Iyatọ ti NotFoundHttpException.

Ipa ọna Laravel pẹlu Iṣẹ Iṣakoso

Ni Laravel, o le definish a Adarí ọna fun a ipa ọna. Ọna oludari ṣe gbogbo awọn iṣe definite ni gbogbo igba ti olumulo kan wọle si ipa-ọna naa.
Pẹlu koodu atẹle a n yan ọna iṣakoso 'functionname' si ọna:

Route:: get ( '/home' , 'YourController@functionname' ) ;

Awọn koodu bẹrẹ pẹlu `Route::` ati nitori naa defiọna ìbéèrè fun ipa ọna dopin. Lẹhinna, definish ọna rẹ ati oludari pẹlu ọna naa nipa fifi aami @ kun ṣaaju orukọ ọna naa.

Fun ọna naa ni orukọ

Ni Laravel, o le defiwá pẹlu orukọ kan fun ọna rẹ. Orukọ yii nigbagbogbo wulo pupọ. Fun apẹẹrẹ, ti o ba fẹ ṣe atunṣe olumulo kan lati ipo kan si omiiran, iwọ ko nilo lati defipari URL àtúnjúwe ni kikun. O le jiroro ni fun orukọ rẹ. O le definite orukọ ipa ọna lilo ` ọnaname`Ninu ọna apẹẹrẹ.

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’);

Ni bayi, Mo le ṣe atunto URL fun ọna yii, nipasẹ koodu atẹle:

$url = route('table');

Bakanna, fun atunṣe si URL yii, sintasi ti o pe yoo jẹ:

return redirect()->route('table');

Route Groups

I Route Groups, Awọn ẹgbẹ ọna gangan, jẹ ẹya pataki ni Laravel, eyiti o fun ọ laaye lati ṣe akojọpọ awọn ọna. Awọn ẹgbẹ ipa-ọna jẹ iwulo nigbati o fẹ lati lo awọn abuda si gbogbo awọn ọna akojọpọ. Ti o ba lo awọn ẹgbẹ ipa ọna, iwọ ko ni lati lo awọn abuda ni ẹyọkan si ipa-ọna kọọkan; eyi yago fun išẹpo. O faye gba o lati pin awọn eroja bi middleware o namespaces, laisi definise wọnyi eroja lori gbogbo nikan ona. Awọn abuda pinpin wọnyi le ṣee kọja ni ọna kika bi paramita akọkọ si ọna naa Route::group.

Sintasi ti a Route Group

Route::group([], callback);  

Eye Adaba []: jẹ orun ti o kọja si ọna ẹgbẹ bi paramita akọkọ.

Apeere ti Route Group Nel ayelujara.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" ;   
   });  
});  

Ninu koodu, defiJẹ ká bẹrẹ awọn ọna ẹgbẹ(), eyi ti o ni awọn paramita meji, i.e array e closure. Inu awọn closure, a le defimọ bi ọpọlọpọ awọn route a fẹ. Ni awọn koodu loke, a ni defipari mẹta route.

Ti a ba wọle si URL nipasẹ ẹrọ aṣawakiri localhost/myproject/first lẹhinna ti akọkọ da si route kikọ ninu awọn kiri ayelujara first way route.

Pẹlu URL localhost/myproject/second lẹhinna ekeji dasi route kikọ ninu awọn kiri ayelujara second way route.

Lakoko pẹlu URL naa localhost/myproject/third lẹhinna ẹgbẹ kẹta gbaja route kikọ ninu awọn kiri ayelujara third way route.

Prefixes ti Route Groups

Awọn ìpele ti route wọn lo nigba ti a fẹ lati pese ọna URL ti o wọpọ si ọpọlọpọ route.

A le pato awọn ìpele fun gbogbo awọn ipa ọna definited laarin awọn ẹgbẹ lilo awọn ìpele orun aṣayan ni Route Groups.

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

Koodu naa ni awọn ọna mẹta ti o le wọle lati awọn URL wọnyi:

/movie/godfather  --->   Godfather casting

/movie/pulpfiction  --->   Pulp Fiction casting

/movie/forrestgump  --->   Forrest Gump casting

Agbedemeji

A tun le fi middleware si gbogbo awọn ipa-ọna laarin ẹgbẹ kan. Awọn middleware gbọdọ jẹ defipari ṣaaju ṣiṣẹda ẹgbẹ. Lati wo bi o ṣe le ṣe, ka nkan wa Laravel middleware bi o ti ṣiṣẹ.

apere:

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

Ipele orukọ ọna

Ọna naa name ti wa ni lo lati ìpele kọọkan orukọ ti route pẹlu pàtó kan okun. Ni ọna name, a nilo lati pato awọn okun pẹlu kan trailing kikọ ninu awọn ìpele.

apẹẹrẹ web.php

Route::name('movie.')->group(function()  
{  
   Route::get('users', function()  
   {  
      return "movie.films";  
   })->name('films');  
});  

Ercole Palmeri

Iwe iroyin Innovation
Maṣe padanu awọn iroyin pataki julọ lori isọdọtun. Forukọsilẹ lati gba wọn nipasẹ imeeli.

Awọn iwe ti o ṣẹṣẹ

Ojo iwaju wa Nibi: Bawo ni Ile-iṣẹ Sowo ti n ṣe Iyika Eto-ọrọ Agbaye

Ẹka ọgagun jẹ agbara eto-aje agbaye ni otitọ, eyiti o ti lọ kiri si ọja 150 bilionu kan…

1 May 2024

Awọn olutẹwe ati OpenAI fowo si awọn adehun lati ṣe ilana ṣiṣan ti alaye ti a ṣe ilana nipasẹ Imọran Artificial

Ni ọjọ Aarọ to kọja, Awọn akoko Iṣowo kede adehun kan pẹlu OpenAI. FT ṣe iwe-aṣẹ iwe-akọọlẹ agbaye rẹ…

30 Kẹrin 2024

Awọn sisanwo ori ayelujara: Eyi ni Bii Awọn iṣẹ ṣiṣanwọle jẹ ki o sanwo lailai

Awọn miliọnu eniyan sanwo fun awọn iṣẹ ṣiṣanwọle, san awọn idiyele ṣiṣe alabapin oṣooṣu. O jẹ ero ti o wọpọ pe o…

29 Kẹrin 2024

Veeam ṣe ẹya atilẹyin okeerẹ julọ fun ransomware, lati aabo si esi ati imularada

Coveware nipasẹ Veeam yoo tẹsiwaju lati pese awọn iṣẹ esi iṣẹlẹ ikọlu cyber. Coveware yoo funni ni awọn oniwadi ati awọn agbara atunṣe…

23 Kẹrin 2024