Articles

Laravel: ro-ràdh air slighe laravel

Tha slighe ann an Laravel a’ leigeil le luchd-cleachdaidh gach iarrtas tagraidh a chuir chun rianadair iomchaidh. Bidh a’ mhòr-chuid de phrìomh shlighean ann an Laravel ag aithneachadh agus a’ gabhail ri Aithneadair Maoin Èideadh còmhla ri dùnadh, a’ toirt seachad dòigh shìmplidh agus bhrìoghmhor air slighe.

Dè a th’ ann an slighe (slighe)?

Tha an t-slighe mar dhòigh air URL iarrtas a chruthachadh airson an tagradh agad. Chan fheum na URLan sin a bhith co-cheangailte ri faidhlichean sònraichte air làrach-lìn agus tha iad furasta an leughadh le daoine agus càirdeil do SEO.

Ann an Laravel, tha slighean air an cruthachadh taobh a-staigh am pasgan le routes. Tha iad air an cruthachadh anns an fhaidhle web.php airson làraich-lìn, agus taobh a-staigh api.php airson APIs.

Tha iad sin route air an sònrachadh don bhuidheann middleware lìonra, a’ soilleireachadh inbhe seisean agus tèarainteachd CSRF. Na slighean a-steach route/api.php tha iad gun stàit agus tha iad air an sònrachadh don bhuidheann meadhan-bathair API.
An ro-stàladhdefiTha Laravel nita a’ tighinn le dà shlighe, aon airson an lìon agus aon airson an API. Seo mar a tha an t-slighe airson lìn coltach web.php:

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

Dè an t-slighe a th’ ann an Laravel?

Tha a h-uile slighe Laravel definiti anns na faidhlichean slighe a tha taobh a-staigh an eòlaire routes. Iarrtas stiùireadh slighe, defisuidhichte anns an fhaidhle App\Providers\RouteServiceProvider, a’ gabhail cùram mu bhith a’ lìnigeadh nam faidhlichean sin gu fèin-ghluasadach. Am faidhle route/web.php defina slighean airson an eadar-aghaidh lìn agad.

Tha e comasach definish slighe airson an gnìomh rianadair seo mar a leanas:

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

Route::resource: an dòigh Route::resource a’ toirt a-mach a h-uile slighe bunaiteach a tha riatanach airson tagradh agus air a riaghladh tron ​​​​chlas smachd.

Nuair a tha iarrtas a rèir an t-slighe URI ainmichte, thèid an dòigh a chleachdadh show defiair a chrìochnachadh anns an rianadair App\Http\ControllersUserController, a 'dol seachad air na crìochan slighe chun a' mhodh.

Airson goireasan, feumaidh tu dà rud a dhèanamh air an tagradh Laravel. An toiseach, feumaidh tu slighe stòrais a chruthachadh air adhart Laravel a bheir seachad cuir a-steach, ùrachadh, coimhead agus cuir às do shlighean. San dàrna h-àite, cruthaich rianadair stòrais a bheir seachad dòigh airson cuir a-steach, ùrachadh, coimhead agus cuir às.

An ro-stàladhdefiTha Laravel nita a’ tighinn le dà shlighe: aon airson an lìon agus aon airson an API. Seo cò ris a tha an t-slighe chun an lìn coltach ann an web.php:

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

return view(‘welcome’);

});

Bathar-cruaidh Laravel ag obair mar dhrochaid eadar an t-iarrtas agus an fhreagairt. Faodaidh e a bhith na sheòrsa de cho-phàirt sìoltachain.

Laravel obair le a mearachdan meadhanach aig a bheil an obair dearbhadh a bheil an tagradh teachdaiche air a dhearbhadh no nach eil. Ma tha an neach-dèiligidh air a dhearbhadh, an uairsin cuir ath-sheòlaidhean gu duilleag dachaigh no duilleag logadh a-steach.

Na dòighean airson an route

An còd roimhe defia’ sireadh slighe chun na duilleig dachaigh. Nuair a gheibh an t-slighe seo iarrtas get gach /, bheir e air ais an view welcome

Tha a h-uile slighe Laravel definiti anns do routing, a tha suidhichte taobh a-staigh an eòlaire dei routes. Mar thoradh air an sin, l'AppProvidersRouteServiceProvider den tagradh a’ leantainn nan clàran sin. Am faidhle route/web.php anns a bheil na slighean a tha air an stiùireadh airson an eadar-aghaidh lìn agad.

Tha structar na slighe gu math sìmplidh. Fosgail am faidhle iomchaidh (`web.phpo `api.php) agus tòisich an loidhne còd le `Route:: `, air a leantainn leis an iarrtas a tha thu airson a shònrachadh don t-slighe shònraichte sin agus an uairsin sònraich an gnìomh a thèid a choileanadh às deidh an iarrtas.

Tha Laravel a’ tabhann na dòighean slighe a leanas:

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

Tha na slighean defiair ainmeachadh ann an Laravel taobh a-staigh a’ chlas Slighe le HTTP, an t-slighe airson freagairt agus dùnadh, no an rianadair.

Mar a chruthaicheas tu slighean ann an Laravel

Chì sinn mar as urrainn dhut do shlighean fhèin a chruthachadh ann an Laravel.

Slighe bunaiteach GET

A-nis tha mi a’ dol a chruthachadh slighe bunaiteach a chlò-bhuaileas clàr-ama 2.

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

Anns a 'chòd gu h-àrd, chruthaich mi slighe iarrtas GET airson an URL /table, a chlò-bhuaileas clàr amannan 2 air an sgrion.

A-nis chì sinn an aon chòd, a’ parametering an àireamh airson a bheil sinn ag iarraidh an clàr iomadachaidh:

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

Anns a' chòd tha 'number' eadar na braces a 'riochdachadh a' pharamadair, i.e. an àireamh airson an tèid an clàr iomadachaidh a thomhas. Nuair a thèid URL den t-seòrsa a shònrachadh /table/n, an uairsin thèid an clàr àireamh a chlò-bhualadh n.

Tha dòigh ann cuideachd an dà fheart a chur còmhla ann an aon shlighe. Tha Laravel a’ tabhann am feart paramadairean roghnach a leigeas leat paramadairean roghainneil a chur ris a’ cleachdadh a’ chomharra ceist ‘?’ às deidh am paramadair roghnach agus an luach ro-làimhdefinith. Chì sinn an eisimpleir:

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

Anns a 'chòd gu h-àrd chruthaich sinn ar paramadair slighe, a' dèanamh an àireamh roghainneil, mar sin ma tha neach-cleachdaidh a 'slighe `/table` an uairsin cruthaichidh e clàr 2 gu bunaiteachdefinite agus ma tha neach-cleachdaidh a 'dol gu `/table/{number}An uairsin clàr na h-àireamhan 'number' thèid a thoirt gu buil.

Abairtean cunbhalach mar chuingealachaidhean airson paramadairean slighe

Anns an eisimpleir roimhe chruthaich sinn slighe airson an clàr iomadachaidh a ghineadh, ach ciamar as urrainn dhuinn dèanamh cinnteach gur e àireamh a th’ ann am paramadair na slighe, gus mearachdan a sheachnadh nuair a bhios sinn a’ cruthachadh a’ chlàr iomadachaidh?

Ann an Laravel, faodaidh tu deficuir bacadh air paramadair an t-slighe a’ cleachdadh an dòigh `where` air eisimpleir slighe. Tha an `where` a’ gabhail ainm a’ pharamadair agus abairt àbhaisteach airson a’ pharamadair sin.

Leabhar-latha ùr-ghnàthachaidh
Na caill na naidheachdan as cudromaiche mu ùr-ghnàthachadh. Clàraich gus am faighinn air post-d.

A-nis chì sinn eisimpleir de bhacadh airson ar `parameter{numero}` gus dèanamh cinnteach nach tèid ach àireamh a thoirt don ghnìomh.

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

Anns a’ chòd gu h-àrd, chleachd sinn abairt àbhaisteach airson àireamh na slighe. A-nis, ma tha neach-cleachdaidh a 'feuchainn ri slighe gu /bòrd/chan eil thèid a thaisbeanadh eisgeachd NotFoundHttpException.

Routing Laravel le gnìomh smachd

Ann an Laravel, faodaidh tu definiish modh Rianadair airson slighe. Bidh modh smachd a 'coileanadh a h-uile gnìomh defia h-uile uair a thig neach-cleachdaidh chun na slighe.
Leis a 'chòd a leanas tha sinn a' sònrachadh an dòigh smachd 'functionname' gu slighe:

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

Tha an còd a 'tòiseachadh le `Route::` agus mar sin defia' sireadh an dòigh iarrtais airson na slighe. Às dèidh sin, defiCrìochnaich do shlighe agus do rianadair còmhla ris an dòigh le bhith a’ cur an samhla @ ris ron ainm modh.

Thoir ainm air an t-slighe

Ann an Laravel, faodaidh tu defithoir ainm air do shlighe. Tha an t-ainm seo glè fheumail gu tric. Mar eisimpleir, ma tha thu airson neach-cleachdaidh ath-stiùireadh bho aon àite gu àite eile, chan fheum thu definish an URL ath-sheòlaidh slàn. Faodaidh tu dìreach ainm a thoirt dha. Faodaidh tu deficuir a-mach ainm na slighe a’ cleachdadh an dòigh `name' ann an eisimpleir an rathaid.

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

A-nis, b’ urrainn dhomh an url airson na slighe seo ath-nuadhachadh, tron ​​chòd a leanas:

$url = route('table');

San aon dòigh, airson ath-stiùireadh chun URL seo, is e an co-chòrdadh ceart:

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

Route Groups

I Route Groups, gu litearra buidhnean slighe, na fheart riatanach ann an Laravel, a leigeas leat slighean a chuir còmhla. Tha buidhnean slighe feumail nuair a tha thu airson buadhan a chuir an sàs anns a h-uile slighe buidhne. Ma chleachdas tu buidhnean shlighean, cha leig thu leas na buadhan a chur an sàs fa leth air gach slighe; bidh seo a’ seachnadh dùblachadh. Leigidh e leat buadhan mar middleware o namespaces, seadh deficrìochnaich na buadhan sin air gach slighe fa leth. Faodar na buadhan co-roinnte sin a thoirt seachad ann an cruth rèite mar a’ chiad pharameter don dòigh Route::group.

Syntax de bhuidheann slighe

Route::group([], callback);  

colman []: Is e sreath a th’ air a chuir gu modh na buidhne mar a’ chiad paramadair.

Eisimpleir de Route Group Nel lìn.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" ;   
   });  
});  

Anns a' chòd, defilorg sinn am modh buidheann (), anns a bheil an dà pharamadair, i.e array e closure. Taobh a-staigh an closure, s urrainn dhuinn deficrìoch cia mheud route tha sinn ag iarraidh. Anns a’ chòd gu h-àrd, tha againn deficriochnaich tri route.

Ma gheibh sinn cothrom air an URL tro bhrobhsair localhost/myproject/first an uairsin bidh a 'chiad fhear a' dol an sàs route a’ sgrìobhadh sa bhrobhsair first way route.

Leis an URL localhost/myproject/second an uairsin thig an dàrna fear route a’ sgrìobhadh sa bhrobhsair second way route.

Fhad 's a tha e leis an URL localhost/myproject/third an sin thig an treas fear route a’ sgrìobhadh sa bhrobhsair third way route.

Ro-leasachain de Route Groups

Tha na ro-leasachain de route bidh iad gan cleachdadh nuair a tha sinn airson structar URL a thoirt seachad a tha cumanta do dh'iomadh route.

Is urrainn dhuinn an ro-leasachan airson a h-uile slighe a shònrachadh definites taobh a-staigh na buidhne a’ cleachdadh an roghainn ro-leasachan ann an Route Groups.

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

Tha trì slighean anns a’ chòd a gheibhear thuige bho na URLan a leanas:

/movie/godfather  --->   Godfather casting

/movie/pulpfiction  --->   Pulp Fiction casting

/movie/forrestgump  --->   Forrest Gump casting

Middleware

Faodaidh sinn cuideachd bathar meadhanach a shònrachadh do gach slighe taobh a-staigh buidheann. Feumaidh am bathar meadhanach a bhith defideiseil mus deach am buidheann a chruthachadh. Gus faicinn mar a nì thu seo, leugh an artaigil againn Laravel middleware mar a tha e ag obair a-nuas.

eisimpleir:

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

Ro-leasachan ainm slighe

An dòigh name air a chleachdadh airson gach ainm a ro-leasachan route le sreang ainmichte. Anns an dòigh-obrach name, feumaidh sinn an sreang a shònrachadh le caractar slaodadh san ro-leasachan.

mar eisimpleir web.php

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

Ercole Palmeri

Leabhar-latha ùr-ghnàthachaidh
Na caill na naidheachdan as cudromaiche mu ùr-ghnàthachadh. Clàraich gus am faighinn air post-d.

Altan o chionn ghoirid

Tha an àm ri teachd an seo: Mar a tha gnìomhachas an luingeis ag ath-nuadhachadh eaconamaidh na cruinne

Tha an roinn cabhlaich na fhìor chumhachd eaconamach cruinne, a tha air gluasad a dh’ ionnsaigh margaidh 150 billean ...

1 Cèitean 2024

Bidh foillsichearan agus OpenAI a’ soidhnigeadh aontaidhean gus an sruth fiosrachaidh air a phròiseasadh le Artificial Intelligence a riaghladh

Diluain sa chaidh, dh’ ainmich an Financial Times aonta le OpenAI. Tha FT a’ ceadachadh a naidheachdas aig ìre cruinne…

30 Giblean 2024

Pàighidhean air-loidhne: Seo mar a bheir Seirbheisean Sruthaidh ort pàigheadh ​​​​gu bràth

Bidh milleanan de dhaoine a’ pàigheadh ​​airson seirbheisean sruthadh, a’ pàigheadh ​​cìsean ballrachd mìosail. Tha e na bheachd cumanta gu bheil thu…

29 Giblean 2024

Tha Veeam a’ nochdadh an taic as coileanta airson ransomware, bho dhìon gu freagairt agus faighinn seachad air

Leanaidh Coveware le Veeam a’ toirt seachad seirbheisean freagairt tachartas saidhbear. Bidh Coveware a’ tabhann comasan forensics agus leigheas…

23 Giblean 2024

Leugh Ùr-ghnàthachadh sa chànan agad

Leabhar-latha ùr-ghnàthachaidh
Na caill na naidheachdan as cudromaiche mu ùr-ghnàthachadh. Clàraich gus am faighinn air post-d.

Lean dhuinn