amanqaku

ILaravel: Intshayelelo kwindlela yelaravel

Umzila kwiLaravel uvumela abasebenzisi ukuba bahambise zonke izicelo zesicelo kumlawuli ofanelekileyo. Uninzi lweendlela eziphambili eLaravel ziyasiqonda kwaye zamkele isichongi se-Asethi Efanayo kunye nokuvalwa, ukubonelela ngendlela elula necacileyo yomzila.

Yintoni indlela (indlela) ?

Umendo yindlela yokwenza isicelo se-URL yesicelo sakho. Ezi URL akudingeki ukuba zidibaniswe neefayile ezithile kwiwebhusayithi kwaye zifundeka ngabantu kunye ne-SEO friendly.

KwiLaravel, iindlela zenziwe ngaphakathi kwifolda ye routes. Zenziwe kwifayile web.php kwiiwebhusayithi, nangaphakathi api.php ye-APIs.

Ezi route zabelwe iqela middleware womnatha, ukugqamisa ubume beseshoni kunye nokhuseleko CSRF. Iindlela zokungena route/api.php azinabume kwaye zabelwe kwiqela le-API middleware.
Ufakelo lwangaphambilidefiILaravel nita iza neendlela ezimbini, enye yewebhu kunye neye-API. Le yindlela ejongeka ngayo kwiwebhu web.php:

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

Yintoni indlela eLaravel ?

Zonke iindlela zeLaravel zikhona definiti kwiifayile zomendo ezibekwe ngaphakathi kulawulo routes. Isicelo solawulo lwendlela, defiifakwe kwifayile App\Providers\RouteServiceProvider, ithatha inkathalo yokuzenzela umgca ezi fayile. Ifayile route/web.php defiIvala iindlela zojongano lwakho lwewebhu.

È ukubonakala defiNish umendo wesi senzo somlawuli ngolu hlobo lulandelayo:

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

Route::resource: indlela Route::resource ivelisa zonke iindlela ezisisiseko ezifunekayo kwisicelo kwaye ilawulwa ngodidi lomlawuli.

Xa isicelo sihambelana nendlela ekhankanyiweyo ye-URI, indlela iyabhengezwa show defiigqitywe kwisilawuli App\Http\ControllersUserController, ukudlulisa iiparamitha zendlela kwindlela.

Kwizibonelelo, kufuneka wenze izinto ezimbini kwisicelo Laravel. Okokuqala, kufuneka udale indlela yemithombo Laravel ebonelela ngokufaka, ukuhlaziya, ukujonga kunye nokucima iindlela. Okwesibini, yenza isilawuli semithombo esinika indlela yokufaka, ukuhlaziya, ukujonga, kunye nokucima.

Ufakelo lwangaphambilidefiILaravel nita iza neendlela ezimbini: enye yewebhu kunye neye-API. Nantsi indlela eya kwiwebhu ekhangeleka ngayo kwi-web.php:

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

return view(‘welcome’);

});

ILaravel Middleware isebenza njengebhulorho phakathi kwesicelo kunye nempendulo. Isenokuba luhlobo oluthile lwecandelo lokucoca.

Laravel sebenza nge izixhobo zombindi onomsebenzi wokuqinisekisa ukuba isicelo somxhasi siqinisekisiwe na okanye hayi. Kwimeko apho umxhasi uqinisekisiwe, emva koko indlela iphinda iqondise kwiphepha lasekhaya okanye iphepha lokungena.

Iindlela ze route

Ikhowudi yangaphambili defiIvula indlela eya kwiphepha lasekhaya. Nanini na xa le ndlela ifumana isicelo get nganye /, iya kubuya i view welcome

Zonke iindlela zeLaravel zikhona definithi kuwe routing, ezibekwe ngaphakathi kulawulo dei routes. Ngenxa yoko, l'AppProvidersRouteServiceProvider yesicelo ibeka ezi rekhodi. Ifayile route/web.php iqulethe iindlela ezilawulwa kujongano lwakho lwewebhu.

Ubume bendlela bulula kakhulu. Vula ifayile efanelekileyo (`web.phpo `api.php) kwaye uqale umgca wekhowudi nge `Route:: `, ilandelwa sisicelo ofuna ukusinika loo ndlela ithile kwaye emva koko uchaze umsebenzi oza kwenziwa ngokulandela isicelo.

ILaravel ibonelela ngeendlela ezilandelayo zendlela:

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

Iindlela zi definited eLaravel ngaphakathi kweklasi yeNdlela kunye neHTTP, indlela yokuphendula kunye nokuvala, okanye umlawuli.

Uyenza njani indlela eLaravel

Makhe sibone ukuba ungazenza njani iindlela zakho eLaravel.

Indlela ye-GET esisiseko

Ngoku ndizakwenza umendo osisiseko ozakuprinta itheyibhile yamaxesha ka-2.

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

Kule khowudi ingentla, ndenze i-GET indlela yokucela i-URL /table, eya kuprinta itafile yamaxesha ka-2 kwisikrini.

Ngoku makhe sibone ikhowudi enye, iparametering inani esilifunela lona itheyibhile yophindaphindo:

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

Kwikhowudi 'number' phakathi kweebrashi imele iparameter, o.k. inani apho itafile yophinda-phindo iyakubalelwa. Nanini na i-URL yodidi ichaziwe /table/n, emva koko itafile yeenombolo iya kuprintwa n.

Kukho nendlela yokudibanisa zombini iimpawu kwindlela enye. ILaravel inika iparameters ezikhethwayo ezikuvumela ukuba udibanise iiparamitha ozikhethelayo usebenzisa uphawu lombuzo '?' emva kweparameter ekhethiweyo kunye nexabiso langaphambilidefingokuhlwa. Makhe sibone umzekelo:

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

Kwikhowudi engentla senze ipharamitha yendlela yethu, sisenza inani libe likhethe, ngoko ke ukuba umsebenzisi uhola `/table` emva koko iyakuvelisa itheyibhile yesi-2 ngokungagqibekangadefinite kwaye ukuba umsebenzisi iindlela ukuya `/table/{number}Emva koko itheyibhile yamanani 'number' iya kuveliswa.

Iintetho eziqhelekileyo njengezithintelo kwiiparamitha zendlela

Kumzekelo wangaphambili senze umendo wokuvelisa itheyibhile yophinda-phindo, kodwa singaqinisekisa njani ukuba iparameter yomendo eneneni linani, ukunqanda iimpazamo xa kusenziwa itafile yophinda-phindo?

KwiLaravel, unako defisusa isithintelo kwindlela yeparameter usebenzisa indlela `where` kumzekelo wendlela. I`where` ithatha igama lepharamitha kunye nentetho eqhelekileyo yaloo parameter.

Ileta yeendaba entsha
Ungaphoswa zezona ndaba zibalulekileyo kutshintsho. Bhalisa ukuze uzifumane nge-imeyile.

Ngoku makhe sibone umzekelo wesithintelo sethu ` iparamitha{numero}` ukuqinisekisa ukuba linani kuphela eligqithisiweyo kumsebenzi.

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

Kule khowudi ingentla, sisebenzise intetho eqhelekileyo yenombolo yendlela. Ngoku, ukuba umsebenzisi uzama indlela eya /itafile/no iya kuboniswa iNotFoundHttpException.

ILaravel Routing kunye nomsebenzi wokulawula

KwiLaravel, unako definish indlela yoMlawuli wendlela. Indlela yokulawula yenza zonke iintshukumo definite ngalo lonke ixesha umsebenzisi efikelela kwindlela.
Ngekhowudi elandelayo sinikezela indlela yomlawuli 'functionname' ukuya kwindlela:

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

Ikhowudi iqala ngo `Route::` kwaye ngoko defiIvala indlela yokucela indlela. Emva koko, defiGqibezela umendo wakho kunye nomlawuli kunye nendlela ngokongeza i-@ isimboli phambi kwegama lendlela.

Nika indlela igama

KwiLaravel, unako defindinike igama lendlela yakho. Eli gama lisoloko liluncedo kakhulu. Umzekelo, ukuba ufuna ukwalathisa umsebenzisi ukusuka kwenye indawo ukuya kwenye, akunyanzelekanga ukuba wenze njalo defiCima i-URL yokuqondisa ngokutsha. Unganika nje igama lakhe. Unga defisusa igama lendlela usebenzisa indlela `name` kumzekelo wendlela.

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

Ngoku, ndingaphinda ndivelise i-url yale ndlela, ngale khowudi ilandelayo:

$url = route('table');

Ngokufanayo, ukuqondisa kwakhona kule URL, ulungelelwaniso oluchanekileyo luya kuba:

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

Route Groups

I Route Groups, ngokwenyani amaqela eendlela, luphawu oluyimfuneko kwiLaravel, ekuvumela ukuba udibane umendo. Amaqela endlela aluncedo xa ufuna ukufaka iimpawu kuzo zonke iindlela ezidityanisiweyo. Ukuba usebenzisa amaqela eendlela, awunyanzelekanga ukuba usebenzise iimpawu zoyelelwano kumendo ngamnye; oku kuthintela ukuphindaphinda. Ikuvumela ukuba wabelane ngeempawu ezifana middleware o namespaces, ngaphandle defiGqibezela ezi mpawu kwindlela nganye. Ezi mpawu ekwabelwana ngazo zinokugqithiswa kwifomati yoluhlu njengeparameter yokuqala kwindlela Route::group.

ISintaksi yeQela leNdlela

Route::group([], callback);  

ihobe []: luluhlu olugqithiselwe kwindlela yeqela njenge parameter yokuqala.

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

Kwikhowudi, defimasifumane indlela iqela(), equlethe iiparamitha ezimbini, okt array e closure. Ngaphakathi kwi closure, singa defigqiba ukuba bangaphi route sifuna. Kule khowudi ingentla, sinayo defibagqibe abathathu route.

Ukuba ngebrawuza sifikelela kwi-URL localhost/myproject/first kwandule ke kungenelele owokuqala route ukuchwetheza kwisikhangeli first way route.

NgeURL localhost/myproject/second ize eyesibini route ukuchwetheza kwisikhangeli second way route.

Ngelixa une-URL localhost/myproject/third ize eyesithathu route ukuchwetheza kwisikhangeli third way route.

Izimaphambili ze Route Groups

Izimaphambili ze route zisetyenziswa xa sifuna ukubonelela ngesakhiwo se-URL eqhelekileyo kuphinda-phindo route.

Singakhankanya isimaphambili sazo zonke iindlela defiunites phakathi kweqela usebenzisa isimaphambili soluhlu ukhetho kwi Route Groups.

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

Ikhowudi iqulethe iindlela ezintathu ezinokufikelelwa kwezi URL zilandelayo:

/movie/godfather  --->   Godfather casting

/movie/pulpfiction  --->   Pulp Fiction casting

/movie/forrestgump  --->   Forrest Gump casting

I-Middleware

Singakwazi ukwabela i-middleware kuzo zonke iindlela ngaphakathi kweqela. I-middleware kufuneka ibe defiugqibile phambi kokudala iqela. Ukubona indlela yokwenza oku, funda inqaku lethu I-Laravel middleware isebenza njani.

umzekelo:

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

Izimaphambili zegama lendlela

Indlela name isetyenziselwa isimaphambili segama ngalinye route ngomtya ochaziweyo. Kwindlela name, kufuneka sichaze umtya onomlinganiswa olandelanayo kwisimaphambili.

umzekelo web.php

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

Ercole Palmeri

Ileta yeendaba entsha
Ungaphoswa zezona ndaba zibalulekileyo kutshintsho. Bhalisa ukuze uzifumane nge-imeyile.

Amanqaku amva

Uguquko oluLuhlaza kunye neDijithali: Njani uLondolozo oluCwangcisiweyo oluTshintsho kwishishini le-oyile negesi

Ugcino oluqikelelweyo luguqula icandelo le-oyile negesi, ngenkqubo entsha nesebenzayo kulawulo lwemizi-mveliso.…

22 Aprili 2024

Umlawuli we-antitrust wase-UK uphakamisa i-alam ye-BigTech ngaphezulu kwe-GenAI

I-CMA yase-UK ikhuphe isilumkiso malunga nokuziphatha kweBig Tech kwimarike yobukrelekrele bokwenziwa. Pha…

18 Aprili 2024

ICasa Green: inguqu yamandla kwikamva elizinzileyo e-Itali

Umthetho we "Green Houses", oqulunqwe yiManyano yaseYurophu ukomeleza amandla ombane kwizakhiwo, ugqibezele inkqubo yowiso mthetho nge…

18 Aprili 2024

I-Ecommerce e-Italiya kwi-27% ngokweNgxelo entsha yeCasaleggio Associati

Ingxelo yonyaka yeCasaleggio Associati malunga ne-Ecommerce e-Italiya yanikezelwa. Ingxelo enesihloko esithi "AI-Commerce: imida yorhwebo nge-Artificial Intelligence".…

17 Aprili 2024