Articles

Laravel: Gabatarwa zuwa Laravel routing

Gudanarwa a cikin Laravel yana ba masu amfani damar kai duk buƙatun aikace-aikacen zuwa mai sarrafawa da ya dace. Yawancin hanyoyin farko a Laravel suna gane da karɓar Mai Gano Kadari na Uniform tare da rufewa, yana ba da hanya mai sauƙi da bayyananniyar hanya.

Menene hanya (hanyar)?

Hanyar hanya ce ta ƙirƙirar URL ɗin buƙata don aikace-aikacen ku. Waɗannan URLs ba sa buƙatar alaƙa da takamaiman fayiloli akan gidan yanar gizon kuma ana iya karantawa ɗan adam kuma abokantaka na SEO.

A cikin Laravel, ana ƙirƙira hanyoyi a cikin babban fayil ɗin le routes. An ƙirƙira su a cikin fayil ɗin web.php ga gidajen yanar gizo, da kuma cikin api.php don APIs.

Wadannan route an sanya su zuwa rukuni middleware hanyar sadarwa, nuna yanayin zaman da tsaro CSRF. Hanyoyin cikin route/api.php ba su da ƙasa kuma an sanya su zuwa rukunin tsakiya na API.
The pre-installationdefiLaravel nita ya zo da hanyoyi guda biyu, ɗaya don gidan yanar gizo kuma ɗaya don API. Wannan shine yadda hanyar gidan yanar gizo ke kama web.php:

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

Menene hanya a Laravel?

Duk hanyoyin Laravel sune definiti a cikin fayilolin hanyar da ke cikin kundin adireshi routes. Aikace-aikacen sarrafa hanya, defia cikin fayil ɗin App\Providers\RouteServiceProvider, yana kula da jera waɗannan fayilolin ta atomatik. Fayil route/web.php definishes hanyoyin don haɗin yanar gizon ku.

Yana yiwuwa definish hanya don wannan aikin mai sarrafa kamar haka:

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

Route::resource: hanyar Route::resource yana samar da duk mahimman hanyoyin da ake buƙata don aikace-aikacen kuma ana sarrafa su ta hanyar ajin mai sarrafawa.

Lokacin da buƙata ta dace da ƙayyadadden hanyar URI, ana kiran hanyar show defigama a cikin mai sarrafawa App\Http\ControllersUserController, wucewa da sigogin hanya zuwa hanyar.

Don albarkatu, kuna buƙatar yin abubuwa biyu akan aikace-aikacen Laravel. Da farko, kuna buƙatar ƙirƙirar hanyar albarkatu akan Laravel wanda ke ba da sakawa, sabuntawa, dubawa da share hanyoyi. Na biyu, ƙirƙiri mai sarrafa albarkatun da ke ba da hanya don sakawa, sabuntawa, dubawa, da sharewa.

The pre-installationdefiLaravel nita ya zo da hanyoyi guda biyu: ɗaya don gidan yanar gizo da ɗaya don API. Ga yadda hanyar yanar gizo take a cikin web.php:

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

return view(‘welcome’);

});

Laravel Middleware yana aiki azaman gada tsakanin buƙata da amsawa. Yana iya zama wani nau'in bangaren tacewa.

Laravel aiki da a tsaka-tsaki wanda ke da aikin tabbatar da ko an tabbatar da aikace-aikacen abokin ciniki ko a'a. Idan an tabbatar da abokin ciniki, to sai a sake turawa zuwa shafin gida ko shafin shiga.

Hanyoyin don route

Lambar da ta gabata definishes hanya zuwa home page. Duk lokacin da wannan hanyar ta sami buƙatu get da /, zai dawo da view welcome

Duk hanyoyin Laravel sune definiti a cikin ku routing, waɗanda ke cikin directory dei routes. Sakamakon haka, l'AppProvidersRouteServiceProvider na aikace-aikacen layikan waɗannan bayanan. Fayil route/web.php ya ƙunshi hanyoyin da ake sarrafa don haɗin yanar gizon ku.

Tsarin hanyar yana da sauqi qwarai. Bude fayil ɗin da ya dace ('web.phpo `api.php) kuma fara layin code da `Route:: `, sannan kuma buƙatun da kuke son sanya wa takamaiman hanyar sannan kuma saka aikin da za a yi bayan buƙatar.

Laravel yana ba da hanyoyi masu zuwa:

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

Hanyoyin su ne definited a cikin Laravel a cikin ajin Route tare da HTTP, hanyar amsawa da kusa, ko mai sarrafawa.

Yadda ake ƙirƙirar hanyoyi a Laravel

Bari mu ga yadda zaku iya ƙirƙirar hanyoyinku a Laravel.

Hanyar GET ta asali

Yanzu zan ƙirƙiri wata hanya ta asali wacce za ta buga jadawalin lokutan 2.

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

A cikin lambar da ke sama, na ƙirƙiri hanyar neman GET don URL /table, wanda zai buga jadawalin lokutan 2 akan allon.

Yanzu bari mu ga lambar guda ɗaya, tana daidaita lambar da muke son tebur mai yawa:

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

A cikin code na'number'tsakanin takalmin gyaran kafa na wakiltar ma'auni, watau lambar da za'a ƙididdige tebur mai yawa. Duk lokacin da aka ƙayyade URL na nau'in /table/n, to za a buga tebur lambar n.

Har ila yau, akwai hanyar da za a haɗa dukkan siffofi a hanya ɗaya. Laravel yana ba da fasalin sigogin zaɓi wanda ke ba ku damar ƙara sigogi na zaɓi ta amfani da alamar tambaya '?' bayan siga na zaɓi da ƙimar farkodefinit. Bari mu ga misali:

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

A cikin lambar da ke sama mun ƙirƙiri siginar hanyar mu, muna sanya lambar zaɓin zaɓi, don haka idan mai amfani ya bi hanyoyin `/table` to zai samar da tebur na 2 ta tsohuwadefinite kuma idan mai amfani yana hanyoyi zuwa '/table/{number}Sai teburin lamba 'number' za a samar.

Kalmomi na yau da kullun azaman ƙuntatawa ga sigogin hanya

A cikin misalin da ya gabata mun ƙirƙiri wata hanya don samar da tebur mai ninka, amma ta yaya za mu tabbatar da cewa ma'aunin hanyar lamba ne, don guje wa kurakurai yayin samar da tebur mai ninka?

A cikin Laravel, zaka iya definish takura kan sigar hanya ta amfani da hanyar `where`a kan hanya misali. The `where` yana ɗaukar sunan siga da magana ta yau da kullun don wannan siga.

Jaridar Innovation
Kada ku rasa mafi mahimmancin labarai akan ƙirƙira. Yi rajista don karɓar su ta imel.

Yanzu bari mu ga misalin takura don sigar mu{numero}`don tabbatar da cewa lamba kawai aka wuce zuwa aikin.

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

A cikin lambar da ke sama, mun yi amfani da magana ta yau da kullun don lambar hanya. Yanzu, idan mai amfani yayi ƙoƙarin yin hanya zuwa /tebur/no za a nuna Banda NotFoundHttpException.

Laravel Routing tare da aikin sarrafawa

A cikin Laravel, zaka iya definish a Controller hanya don hanya. Hanyar mai sarrafawa tana yin duk ayyuka definite duk lokacin da mai amfani ya shiga hanyar.
Tare da lambar mai zuwa muna ba da hanyar sarrafawa 'functionname' zuwa hanyar:

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

Lambar tana farawa da `Route::` sabili da haka definishes hanyar neman hanyar. Daga baya, defiƘare hanyar ku da mai sarrafawa tare da hanyar ta ƙara alamar @ kafin sunan hanyar.

Ba wa hanya suna

A cikin Laravel, zaka iya definish a name for your way. Wannan sunan sau da yawa yana da amfani sosai. Misali, idan kuna son tura mai amfani daga wuri guda zuwa wani, ba lallai bane ku yi hakan definish cikakken adireshin adireshin. Kuna iya ba da sunansa kawai. Za ka iya definish sunan hanya ta amfani da hanyar `name`a cikin misalan hanya.

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

Yanzu, zan iya sabunta url don wannan hanya, ta hanyar lamba mai zuwa:

$url = route('table');

Hakazalika, don turawa zuwa wannan URL, madaidaicin ma'anar zai zama:

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

Route Groups

I Route Groups, Ƙungiyoyin hanyoyi na zahiri, wani abu ne mai mahimmanci a cikin Laravel, wanda ke ba ku damar tsara hanyoyin. Ƙungiyoyin hanya suna da amfani lokacin da kake son amfani da halayen ga duk hanyoyin da aka haɗaka. Idan kuna amfani da ƙungiyoyin hanya, ba lallai ne ku yi amfani da halayen ɗaiɗaiku ga kowace hanya ba; wannan yana guje wa kwafi. Yana ba ku damar raba halayen kamar middleware o namespaces, sanza defigama waɗannan halayen akan kowane tafarki ɗaya. Ana iya wuce waɗannan halayen haɗin gwiwa a cikin tsarin tsararru azaman siga na farko zuwa hanyar Route::group.

Ma'anar Rukunin Hanya

Route::group([], callback);  

kurciya [ ]: jeri ne da aka wuce zuwa hanyar rukuni azaman siga na farko.

Misalin Route Group nel yanar gizo.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" ;   
   });  
});  

A cikin code, defibari mu nemo hanyar kungiya(), wanda ya ƙunshi sigogi biyu, watau array e closure. Ciki cikin closure, za mu iya defigama nawa route muna so. A cikin lambar da ke sama, muna da defigama uku route.

Idan ta hanyar browser za mu shiga URL localhost/myproject/first sai na farko ya shiga tsakani route buga a cikin browser first way route.

Tare da URL localhost/myproject/second sai na biyu ya zo route buga a cikin browser second way route.

Yayin da URL localhost/myproject/third sai na uku ya zo route buga a cikin browser third way route.

Prefixes na Route Groups

Prefixes na route ana amfani da su lokacin da muke son samar da tsarin URL gama gari da yawa route.

Za mu iya ƙididdige prefix don duk hanyoyi definites a cikin rukuni ta amfani da zaɓin prefix array in Route Groups.

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

Lambar ta ƙunshi hanyoyi guda uku waɗanda za a iya shiga daga URL masu zuwa:

/movie/godfather  --->   Godfather casting

/movie/pulpfiction  --->   Pulp Fiction casting

/movie/forrestgump  --->   Forrest Gump casting

Tsaka-tsaki

Hakanan za mu iya keɓance middleware ga duk hanyoyin da ke cikin rukuni. Dole ne kayan tsakiya su kasance defigama kafin ƙirƙirar group. Don ganin yadda ake yin wannan, karanta labarinmu Laravel middleware yadda yake aiki.

Example:

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

Fayilolin sunan hanya

Hanyar name ana amfani da shi don prefix kowane suna na route tare da ƙayyadadden kirtani. A cikin hanyar name, muna buƙatar saka kirtani tare da hali mai biyo baya a cikin prefix.

misali web.php

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

Ercole Palmeri

Jaridar Innovation
Kada ku rasa mafi mahimmancin labarai akan ƙirƙira. Yi rajista don karɓar su ta imel.

Kwanan nan labarin

Veeam yana fasalta mafi cikakken tallafi don ransomware, daga kariya zuwa amsawa da murmurewa

Coveware ta Veeam zai ci gaba da ba da sabis na amsa abin da ya faru ta hanyar intanet. Coveware zai ba da damar bincikar bincike da damar gyarawa…

23 Afrilu 2024

Kore da Juyin Juya Halin Dijital: Yadda Kulawar Hasashen ke Canza Masana'antar Mai & Gas

Kulawa da tsinkaya yana kawo sauyi a fannin mai & iskar gas, tare da sabbin hanyoyin kula da tsirrai.…

22 Afrilu 2024

Mai kula da amincin Burtaniya ya ɗaga ƙararrawar BigTech akan GenAI

Hukumar CMA ta Burtaniya ta ba da gargadi game da halayen Big Tech a cikin kasuwar bayanan sirri. Akwai…

18 Afrilu 2024

Casa Green: juyin juya halin makamashi don dorewar makoma a Italiya

Dokar "Green Houses" da Tarayyar Turai ta tsara don inganta ingantaccen makamashi na gine-gine, ta kammala aikinta na majalisar tare da…

18 Afrilu 2024