Erthyglau

Laravel: cyflwyniad i lwybro larafel

Mae llwybro yn Laravel yn caniatáu i ddefnyddwyr gyfeirio pob cais am raglen at y rheolydd priodol. Mae'r rhan fwyaf o'r prif lwybrau yn Laravel yn adnabod ac yn derbyn Dynodwr Asedau Unffurf ynghyd â chau, gan ddarparu ffordd syml a mynegiannol o lwybro.

Beth yw llwybr (llwybr) ?

Mae'r llwybr yn ffordd o greu URL cais ar gyfer eich cais. Nid oes angen i'r URLau hyn fod yn gysylltiedig â ffeiliau penodol ar wefan ac maent yn ddarllenadwy gan bobl ac yn gyfeillgar i SEO.

Yn Laravel, mae llwybrau'n cael eu creu y tu mewn i'r ffolder le routes. Maent yn cael eu creu yn y ffeil web.php ar gyfer gwefannau, ac o fewn api.php ar gyfer APIs.

Rhain route yn cael eu neilltuo i'r grŵp middleware rhwydwaith, gan amlygu statws sesiwn a diogelwch CSRF. Y llwybrau i mewn route/api.php maent yn ddi-wladwriaeth ac yn cael eu neilltuo i'r grŵp nwyddau canol API.
Y rhagosodiaddefiDaw Laravel nita gyda dau lwybr, un ar gyfer y we ac un ar gyfer yr API. Dyma sut olwg sydd ar y llwybr ar gyfer y we web.php:

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

Beth yw llwybr yn Laravel?

Mae holl lwybrau Laravel yn definiti yn y ffeiliau llwybr sydd wedi'u lleoli yn y cyfeiriadur routes. Y cais rheoli llwybr, definished yn y ffeil App\Providers\RouteServiceProvider, yn gofalu am leinio'r ffeiliau hyn yn awtomatig. Y ffeil route/web.php definihes y llwybrau ar gyfer eich rhyngwyneb gwe.

Mae'n bosibl definish llwybr ar gyfer gweithredu'r rheolydd hwn fel a ganlyn:

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

Route::resource: y dull Route::resource yn cynhyrchu'r holl lwybrau sylfaenol sy'n ofynnol ar gyfer cais ac yn cael ei reoli trwy'r dosbarth rheolydd.

Pan fydd cais yn cyfateb i'r llwybr URI penodedig, defnyddir y dull show defigorffen yn y rheolydd App\Http\ControllersUserController, gan basio'r paramedrau llwybr i'r dull.

Ar gyfer adnoddau, mae angen i chi wneud dau beth ar y cais Laravel. Yn gyntaf, mae angen i chi greu llwybr adnoddau ymlaen Laravel sy'n darparu mewnosod, diweddaru, gweld a dileu llwybrau. Yn ail, creu rheolydd adnoddau sy'n darparu dull ar gyfer mewnosod, diweddaru, gwylio, a dileu.

Y rhagosodiaddefiDaw Laravel nita gyda dau lwybr: un ar gyfer y we ac un ar gyfer yr API. Dyma sut olwg sydd ar y llwybr i'r we yn web.php:

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

return view(‘welcome’);

});

Llestri Canolog Laravel yn gweithredu fel pont rhwng y cais a'r ymateb. Gall fod yn rhyw fath o gydran hidlo.

Laravel gweithio gyda a llestri canol sydd â'r dasg o gadarnhau a yw cais y cleient wedi'i wirio ai peidio. Rhag ofn y bydd y cleient yn cael ei gadarnhau, yna llwybro ailgyfeiriadau i'r dudalen gartref neu dudalen mewngofnodi.

Mae'r dulliau ar gyfer y route

Y cod blaenorol definishes llwybr i'r hafan. Pryd bynnag y bydd y llwybr hwn yn derbyn cais get /, bydd dychwelyd y view welcome

Mae holl lwybrau Laravel yn definiti yn eich routing, sydd wedi'u lleoli y tu mewn i'r cyfeiriadur dei routes. O ganlyniad, l'AppProvidersRouteServiceProvider o'r cais yn llinellu'r cofnodion hyn. Y ffeil route/web.php yn cynnwys y llwybrau sy'n cael eu rheoli ar gyfer eich rhyngwyneb gwe.

Mae strwythur y llwybr yn syml iawn. Agorwch y ffeil briodol (`web.phpo `api.php) a dechrau llinell y cod gyda `Route:: `, ac yna'r cais yr ydych am ei aseinio i'r llwybr penodol hwnnw ac yna nodi'r swyddogaeth a fydd yn cael ei chyflawni yn dilyn y cais.

Mae Laravel yn cynnig y dulliau llwybr canlynol:

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

Mae'r llwybrau yn defiwedi'i nodi yn Laravel o fewn y dosbarth Llwybr gyda HTTP, y llwybr i ymateb iddo a'r cau, neu'r rheolydd.

Sut i greu llwybrau yn Laravel

Gadewch i ni weld sut y gallwch chi greu eich llwybrau eich hun yn Laravel.

Llwybr GET sylfaenol

Nawr rydw i'n mynd i greu llwybr sylfaenol a fydd yn argraffu tabl amseroedd 2.

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

Yn y cod uchod, creais lwybr cais GET ar gyfer yr URL /table, a fydd yn argraffu tabl amseroedd 2 ar y sgrin.

Nawr, gadewch i ni weld yr un cod, gan baramedroli'r rhif yr ydym am gael y tabl lluosi ar ei gyfer:

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

Yn y cod mae'rnumber' rhwng y braces yn cynrychioli'r paramedr, h.y. y rhif y bydd y tabl lluosi yn cael ei gyfrifo ar ei gyfer. Pryd bynnag y nodir URL o'r math /table/n, yna bydd y tabl rhif yn cael ei argraffu n.

Mae yna hefyd ffordd i gyfuno'r ddwy nodwedd mewn un llwybr. Mae Laravel yn cynnig y nodwedd paramedrau dewisol sy'n eich galluogi i ychwanegu paramedrau dewisol gan ddefnyddio'r marc cwestiwn '?' ar ôl y paramedr dewisol a'r gwerth cyndefinit. Gadewch i ni weld yr enghraifft:

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

Yn y cod uchod fe wnaethom greu ein paramedr llwybr, gan wneud y rhif yn ddewisol, felly os yw defnyddiwr yn llwybro `/table` yna bydd yn cynhyrchu tabl 2 yn ddiofyndefinite ac os yw defnyddiwr yn llwybrau i `/table/{number}Yna y tabl rhif 'number' bydd yn cael ei gynhyrchu.

Mynegiadau rheolaidd fel cyfyngiadau ar baramedrau llwybr

Yn yr enghraifft flaenorol fe wnaethom greu llwybr ar gyfer cynhyrchu'r tabl lluosi, ond sut allwn ni sicrhau bod paramedr y llwybr mewn gwirionedd yn rhif, er mwyn osgoi gwallau wrth gynhyrchu'r tabl lluosi?

Yn Laravel, gallwch chi defigosod cyfyngiad ar baramedr y llwybr gan ddefnyddio'r dull `where` ar yr enghraifft llwybr. Mae'r `where` yn cymryd enw'r paramedr a mynegiant rheolaidd ar gyfer y paramedr hwnnw.

Cylchlythyr arloesi
Peidiwch â cholli'r newyddion pwysicaf am arloesi. Cofrestrwch i'w derbyn trwy e-bost.

Nawr gadewch i ni weld enghraifft o gyfyngiad ar gyfer ein ` paramedr{numero}` i sicrhau mai dim ond rhif sy'n cael ei drosglwyddo i'r ffwythiant.

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

Yn y cod uchod, defnyddiasom fynegiad rheolaidd ar gyfer rhif y llwybr. Nawr, os yw defnyddiwr yn ceisio llwybro i /bwrdd/na bydd yn cael ei arddangos eithriad NotFoundHttpException.

Llwybro Laravel gyda swyddogaeth reoli

Yn Laravel, gallwch chi definish dull Rheolydd ar gyfer llwybr. Mae dull rheolydd yn cyflawni pob gweithred definite bob tro y bydd defnyddiwr yn cyrchu'r llwybr.
Gyda'r cod canlynol rydym yn aseinio'r dull rheolydd 'functionname' i lwybr:

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

Mae'r cod yn dechrau gyda `Route::` ac felly definihes y dull cais ar gyfer y llwybr. Yn dilyn hynny, defiGorffennwch eich llwybr a'ch rheolydd ynghyd â'r dull trwy ychwanegu'r symbol @ cyn enw'r dull.

Rhowch enw i'r llwybr

Yn Laravel, gallwch chi definish enw ar dy lwybr. Mae'r enw hwn yn aml yn ddefnyddiol iawn. Er enghraifft, os ydych chi am ailgyfeirio defnyddiwr o un lleoliad i'r llall, nid oes rhaid i chi definish yr URL ailgyfeirio llawn. Gallwch chi roi ei enw yn unig. Gallwch chi definish enw'r llwybr gan ddefnyddio'r dull `name` yn yr enghraifft llwybr.

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

Nawr, gallwn i adfywio'r url ar gyfer y llwybr hwn, trwy'r cod canlynol:

$url = route('table');

Yn yr un modd, ar gyfer ailgyfeirio i'r URL hwn, y gystrawen gywir fyddai:

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

Route Groups

I Route Groups, yn llythrennol grwpiau llwybr, yn nodwedd hanfodol yn Laravel, sy'n eich galluogi i grwpio llwybrau. Mae grwpiau llwybr yn ddefnyddiol pan fyddwch am gymhwyso priodoleddau i bob llwybr wedi'i grwpio. Os ydych chi'n defnyddio grwpiau llwybrau, nid oes rhaid i chi gymhwyso'r priodoleddau'n unigol i bob llwybr; mae hyn yn osgoi dyblygu. Mae'n caniatáu ichi rannu priodoleddau fel middleware o namespaces, heb defigorffen y priodoleddau hyn ar bob llwybr unigol. Gellir trosglwyddo'r priodoleddau a rennir hyn mewn fformat arae fel y paramedr cyntaf i'r dull Route::group.

Cystrawen Grŵp Llwybr

Route::group([], callback);  

colomen []: yn arae a drosglwyddir i'r dull grŵp fel y paramedr cyntaf.

Enghraifft o Route Group yn gwe.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" ;   
   });  
});  

Yn y cod, defigadewch i ni ddod o hyd i'r dull grŵp (), sy'n cynnwys y ddau baramedr, h.y array e closure. Y tu mewn i'r closure, gallwn defigorffen faint route dymunwn. Yn y cod uchod, mae gennym ni defigorffen tri route.

Os trwy borwr rydym yn cyrchu'r URL localhost/myproject/first yna mae'r cyntaf yn ymyrryd route teipio yn y porwr first way route.

Gyda'r URL localhost/myproject/second yna daw yr ail route teipio yn y porwr second way route.

Tra gyda'r URL localhost/myproject/third yna daw y trydydd route teipio yn y porwr third way route.

Rhagddodiaid o Route Groups

Mae rhagddodiaid o route fe'u defnyddir pan fyddwn am ddarparu strwythur URL sy'n gyffredin i luosog route.

Gallwn nodi'r rhagddodiad ar gyfer pob llwybr definites o fewn y grŵp gan ddefnyddio'r opsiwn arae rhagddodiad yn Route Groups.

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

Mae'r cod yn cynnwys tri llwybr y gellir eu cyrchu o'r URLs canlynol:

/movie/godfather  --->   Godfather casting

/movie/pulpfiction  --->   Pulp Fiction casting

/movie/forrestgump  --->   Forrest Gump casting

Canolwedd

Gallwn hefyd neilltuo nwyddau canol i bob llwybr o fewn grŵp. Rhaid i'r llestri canol fod defigorffen cyn creu'r grŵp. I weld sut i wneud hyn, darllenwch ein herthygl Laravel middleware sut mae'n gweithio.

enghraifft:

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

Rhagddodiaid enw llwybr

Y dull name yn cael ei ddefnyddio i ragddodi pob enw o route gyda llinyn penodedig. Yn y dull name, mae angen i ni nodi'r llinyn gyda chymeriad llusgo yn y rhagddodiad.

enghraifft web.php

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

Ercole Palmeri

Cylchlythyr arloesi
Peidiwch â cholli'r newyddion pwysicaf am arloesi. Cofrestrwch i'w derbyn trwy e-bost.

Erthyglau Diweddar

Mae Veeam yn cynnwys y gefnogaeth fwyaf cynhwysfawr ar gyfer ransomware, o amddiffyniad i ymateb ac adferiad

Bydd Coveware gan Veeam yn parhau i ddarparu gwasanaethau ymateb i ddigwyddiadau cribddeiliaeth seiber. Bydd Coveware yn cynnig galluoedd fforensig ac adfer…

23 2024 Ebrill

Chwyldro Gwyrdd a Digidol: Sut Mae Cynnal a Chadw Rhagfynegol yn Trawsnewid y Diwydiant Olew a Nwy

Mae gwaith cynnal a chadw rhagfynegol yn chwyldroi'r sector olew a nwy, gyda dull arloesol a rhagweithiol o reoli planhigion.…

22 2024 Ebrill

Rheoleiddiwr antitrust y DU yn codi larwm BigTech dros GenAI

Mae CMA y DU wedi cyhoeddi rhybudd am ymddygiad Big Tech yn y farchnad deallusrwydd artiffisial. Yno…

18 2024 Ebrill

Casa Green: chwyldro ynni ar gyfer dyfodol cynaliadwy yn yr Eidal

Mae'r Archddyfarniad "Achos Gwyrdd", a luniwyd gan yr Undeb Ewropeaidd i wella effeithlonrwydd ynni adeiladau, wedi dod â'i broses ddeddfwriaethol i ben gyda…

18 2024 Ebrill