వ్యాసాలు

లారావెల్: లారావెల్ రూటింగ్‌కు పరిచయం

లారావెల్‌లో రూటింగ్ వినియోగదారులు అన్ని అప్లికేషన్ అభ్యర్థనలను తగిన కంట్రోలర్‌కు రూట్ చేయడానికి అనుమతిస్తుంది. లారావెల్‌లోని చాలా ప్రాథమిక మార్గాలు మూసివేతతో పాటు యూనిఫాం అసెట్ ఐడెంటిఫైయర్‌ను గుర్తించి, అంగీకరిస్తాయి, ఇది రూటింగ్ యొక్క సరళమైన మరియు వ్యక్తీకరణ మార్గాన్ని అందిస్తుంది.

మార్గం (మార్గం) అంటే ఏమిటి?

మీ అప్లికేషన్ కోసం అభ్యర్థన URLని సృష్టించడానికి మార్గం ఒక మార్గం. ఈ URLలు వెబ్‌సైట్‌లోని నిర్దిష్ట ఫైల్‌లతో అనుబంధించాల్సిన అవసరం లేదు మరియు మానవులు చదవగలిగేవి మరియు SEO స్నేహపూర్వకంగా ఉంటాయి.

Laravelలో, le ఫోల్డర్ లోపల మార్గాలు సృష్టించబడతాయి routes. అవి ఫైల్‌లో సృష్టించబడతాయి web.php వెబ్‌సైట్‌ల కోసం మరియు లోపల api.php APIల కోసం.

ఇవి route సమూహానికి కేటాయించబడతాయి middleware నెట్‌వర్క్, సెషన్ స్థితి మరియు భద్రతను హైలైట్ చేస్తుంది CSRF. లోని మార్గాలు route/api.php అవి స్థితిలేనివి మరియు API మిడిల్‌వేర్ సమూహానికి కేటాయించబడతాయి.
ముందస్తు సంస్థాపనdefiLaravel nita రెండు మార్గాలతో వస్తుంది, ఒకటి వెబ్ కోసం మరియు ఒకటి API కోసం. వెబ్ కోసం మార్గం ఇలా కనిపిస్తుంది web.php:

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

లారావెల్‌లో ఒక మార్గం ఏమిటి?

అన్ని లారావెల్ మార్గాలు defiడైరెక్టరీలో ఉన్న పాత్ ఫైల్‌లలో niti routes. రూట్ మేనేజ్‌మెంట్ అప్లికేషన్, defiఫైల్‌లో కొట్టివేయబడింది App\Providers\RouteServiceProvider, ఈ ఫైల్‌లను స్వయంచాలకంగా లైనింగ్ చేసేలా జాగ్రత్త తీసుకుంటుంది. ఆ ఫైల్ route/web.php defiమీ వెబ్ ఇంటర్‌ఫేస్ కోసం మార్గాలను తొలగిస్తుంది.

అది సాధ్యమే defiఈ కంట్రోలర్ చర్య కోసం ఈ క్రింది విధంగా ఒక మార్గాన్ని నిష్క్రమించండి:

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

Route::resource: పద్దతి Route::resource అప్లికేషన్ కోసం అవసరమైన అన్ని ప్రాథమిక మార్గాలను ఉత్పత్తి చేస్తుంది మరియు కంట్రోలర్ క్లాస్ ద్వారా నిర్వహించబడుతుంది.

ఒక అభ్యర్థన పేర్కొన్న మార్గం URIతో సరిపోలినప్పుడు, పద్ధతి అమలు చేయబడుతుంది show defiకంట్రోలర్‌లో పూర్తయింది App\Http\ControllersUserController, మార్గం పారామితులను పద్ధతికి పంపడం.

వనరుల కోసం, మీరు అప్లికేషన్‌లో రెండు పనులు చేయాలి laravel. మొదట, మీరు వనరుల మార్గాన్ని సృష్టించాలి laravel ఇది మార్గాలను చొప్పించడం, నవీకరించడం, వీక్షించడం మరియు తొలగించడం వంటివి అందిస్తుంది. రెండవది, ఇన్‌సర్ట్ చేయడానికి, అప్‌డేట్ చేయడానికి, వీక్షించడానికి మరియు తొలగించడానికి ఒక పద్ధతిని అందించే రిసోర్స్ కంట్రోలర్‌ను సృష్టించండి.

ముందస్తు సంస్థాపనdefiLaravel nita రెండు మార్గాలతో వస్తుంది: ఒకటి వెబ్ మరియు API కోసం ఒకటి. web.phpలో వెబ్ మార్గం ఎలా ఉంటుందో ఇక్కడ ఉంది:

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

return view(‘welcome’);

});

లారావెల్ మిడిల్‌వేర్ అభ్యర్థన మరియు ప్రతిచర్య మధ్య వారధిగా పనిచేస్తుంది. ఇది ఒక రకమైన ఫిల్టర్ భాగం కావచ్చు.

laravel a తో పని చేయండి మిడిల్ క్లయింట్ అప్లికేషన్ ధృవీకరించబడిందో లేదో నిర్ధారించే పనిని కలిగి ఉంటుంది. క్లయింట్ నిర్ధారించబడిన సందర్భంలో, రూటింగ్ హోమ్ పేజీకి లేదా లాగిన్ పేజీకి దారి మళ్లిస్తుంది.

కోసం పద్ధతులు route

మునుపటి కోడ్ defiహోమ్ పేజీకి దారిని తొలగిస్తుంది. ఈ మార్గం అభ్యర్థనను స్వీకరించినప్పుడల్లా get పర్ /, తిరిగి వస్తుంది view welcome

అన్ని లారావెల్ మార్గాలు defiనీలో నీతి routing, ఇవి డైరెక్టరీ dei లోపల ఉన్నాయి routes. తత్ఫలితంగా, l'AppProvidersRouteServiceProvider అప్లికేషన్ యొక్క ఈ రికార్డులు వరుసలో ఉంటాయి. ఆ ఫైల్ route/web.php మీ వెబ్ ఇంటర్‌ఫేస్ కోసం నిర్వహించబడే మార్గాలను కలిగి ఉంటుంది.

మార్గం నిర్మాణం చాలా సులభం. తగిన ఫైల్‌ను తెరవండి (`web.phpo `api.php) మరియు కోడ్ లైన్‌ను దీనితో ప్రారంభించండి `Route:: `, మీరు ఆ నిర్దిష్ట మార్గానికి కేటాయించాలనుకుంటున్న అభ్యర్థనను అనుసరించి, అభ్యర్థనను అనుసరించి నిర్వహించే ఫంక్షన్‌ను పేర్కొనండి.

Laravel క్రింది మార్గాల పద్ధతులను అందిస్తుంది:

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

మార్గాలు ఉన్నాయి defiHTTPతో రూట్ క్లాస్‌లోని లారావెల్‌లో నేట్ చేయబడింది, ప్రత్యుత్తరం ఇవ్వడానికి మరియు మూసివేయడానికి మార్గం లేదా కంట్రోలర్.

లారావెల్‌లో మార్గాలను ఎలా సృష్టించాలి

లారావెల్‌లో మీరు మీ స్వంత మార్గాలను ఎలా సృష్టించుకోవచ్చో చూద్దాం.

ప్రాథమిక GET మార్గం

ఇప్పుడు నేను టైమ్ టేబుల్ 2ని ప్రింట్ చేసే ప్రాథమిక మార్గాన్ని సృష్టించబోతున్నాను.

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

పై కోడ్‌లో, నేను URL కోసం GET అభ్యర్థన మార్గాన్ని సృష్టించాను /table, ఇది స్క్రీన్‌పై టైమ్ టేబుల్ 2ని ప్రింట్ చేస్తుంది.

ఇప్పుడు అదే కోడ్‌ని చూద్దాం, మనకు గుణకారం పట్టిక కావాల్సిన సంఖ్యను పారామితి చేస్తూ:

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

కోడ్‌లో 'numberజంట కలుపుల మధ్య పరామితిని సూచిస్తుంది, అనగా గుణకార పట్టిక లెక్కించబడే సంఖ్య. రకం URL పేర్కొనబడినప్పుడల్లా /table/n, అప్పుడు నంబర్ టేబుల్ ప్రింట్ చేయబడుతుంది n.

రెండు లక్షణాలను ఒకే మార్గంలో కలపడానికి మార్గం కూడా ఉంది. Laravel ఐచ్ఛిక పారామితుల లక్షణాన్ని అందిస్తుంది, ఇది ప్రశ్న గుర్తు '?'ని ఉపయోగించి ఐచ్ఛిక పారామితులను జోడించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఐచ్ఛిక పరామితి మరియు పూర్వ విలువ తర్వాతdefiరాత్రి. ఉదాహరణ చూద్దాం:

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

ఎగువ కోడ్‌లో మేము మా రూట్ పరామితిని సృష్టించాము, సంఖ్యను ఐచ్ఛికం చేస్తూ, వినియోగదారు రూట్ చేస్తే `/table`అప్పుడు అది డిఫాల్ట్‌గా 2 పట్టికను రూపొందిస్తుందిdefinite మరియు వినియోగదారు రూట్ చేస్తే `/table/{number}అప్పుడు సంఖ్య పట్టిక 'number' ఉత్పత్తి చేయబడుతుంది.

రూట్ పారామీటర్‌లకు పరిమితులుగా సాధారణ వ్యక్తీకరణలు

మునుపటి ఉదాహరణలో మేము గుణకార పట్టికను రూపొందించడానికి ఒక మార్గాన్ని సృష్టించాము, అయితే గుణకార పట్టికను రూపొందించేటప్పుడు లోపాలను నివారించడానికి, మార్గం యొక్క పరామితి వాస్తవానికి ఒక సంఖ్య అని ఎలా నిర్ధారించుకోవాలి?

లారావెల్‌లో, మీరు చేయవచ్చు defi` పద్ధతిని ఉపయోగించి రూట్ పరామితిపై అడ్డంకిని తొలగించండిwhere`మార్గం ఉదాహరణలో. ది `where` ఆ పరామితి కోసం పారామీటర్ పేరు మరియు సాధారణ వ్యక్తీకరణను తీసుకుంటుంది.

ఇన్నోవేషన్ వార్తాలేఖ
ఆవిష్కరణకు సంబంధించిన అత్యంత ముఖ్యమైన వార్తలను మిస్ చేయవద్దు. ఇమెయిల్ ద్వారా వాటిని స్వీకరించడానికి సైన్ అప్ చేయండి.

ఇప్పుడు మన ` పరామితి కోసం పరిమితి యొక్క ఉదాహరణను చూద్దాం{numero}` ఫంక్షన్‌కు ఒక సంఖ్య మాత్రమే పాస్ చేయబడిందని నిర్ధారించుకోవడానికి.

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

పై కోడ్‌లో, మేము పాత్ నంబర్ కోసం సాధారణ వ్యక్తీకరణను ఉపయోగించాము. ఇప్పుడు, ఒక వినియోగదారు రూట్ చేయడానికి ప్రయత్నిస్తే /టేబుల్/నం ప్రదర్శించబడుతుంది ఒక NotFoundHttpException మినహాయింపు.

నియంత్రణ ఫంక్షన్‌తో లారావెల్ రూటింగ్

లారావెల్‌లో, మీరు చేయవచ్చు defiఒక మార్గం కోసం ఒక కంట్రోలర్ పద్ధతిని నిష్ చేయండి. నియంత్రిక పద్ధతి అన్ని చర్యలను నిర్వహిస్తుంది defiఒక వినియోగదారు మార్గాన్ని యాక్సెస్ చేసిన ప్రతిసారీ రాత్రి.
కింది కోడ్‌తో మేము కంట్రోలర్ పద్ధతిని కేటాయిస్తున్నాము 'functionname' ఒక మార్గానికి:

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

కోడ్ మొదలవుతుంది `Route::` మరియు అందువలన defiమార్గం కోసం అభ్యర్థన పద్ధతిని నిషేస్తుంది. తదనంతరం, defiపద్ధతి పేరుకు ముందు @ చిహ్నాన్ని జోడించడం ద్వారా పద్ధతితో పాటు మీ పాత్ మరియు కంట్రోలర్‌ను పూర్తి చేయండి.

మార్గానికి పేరు పెట్టండి

లారావెల్‌లో, మీరు చేయవచ్చు defiమీ మార్గానికి పేరు పెట్టండి. ఈ పేరు తరచుగా చాలా ఉపయోగకరంగా ఉంటుంది. ఉదాహరణకు, మీరు వినియోగదారుని ఒక ప్రదేశం నుండి మరొక ప్రదేశానికి దారి మళ్లించాలనుకుంటే, మీరు చేయవలసిన అవసరం లేదు defiపూర్తి దారి మళ్లింపు URLని తొలగించండి. మీరు అతని పేరు మాత్రమే ఇవ్వగలరు. నువ్వు చేయగలవు defi` పద్ధతిని ఉపయోగించి రూట్ పేరును నిష్క్రమించండిname`మార్గం ఉదాహరణలో.

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

ఇప్పుడు, నేను ఈ క్రింది కోడ్ ద్వారా ఈ మార్గం కోసం urlని పునరుత్పత్తి చేయగలను:

$url = route('table');

అదేవిధంగా, ఈ URLకి దారి మళ్లించడానికి, సరైన సింటాక్స్ ఇలా ఉంటుంది:

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

Route Groups

I Route Groups, అక్షరాలా పాత్ గ్రూపులు, లారావెల్‌లో ముఖ్యమైన లక్షణం, ఇది మార్గాలను సమూహపరచడానికి మిమ్మల్ని అనుమతిస్తుంది. మీరు అన్ని సమూహ మార్గాలకు లక్షణాలను వర్తింపజేయాలనుకున్నప్పుడు మార్గ సమూహాలు ఉపయోగకరంగా ఉంటాయి. మీరు మార్గ సమూహాలను ఉపయోగిస్తే, మీరు ప్రతి మార్గానికి వ్యక్తిగతంగా లక్షణాలను వర్తింపజేయవలసిన అవసరం లేదు; ఇది నకిలీని నివారిస్తుంది. ఇది వంటి లక్షణాలను పంచుకోవడానికి మిమ్మల్ని అనుమతిస్తుంది middleware o namespaces, లేకుండా defiప్రతి వ్యక్తి మార్గంలో ఈ లక్షణాలను పూర్తి చేయండి. ఈ భాగస్వామ్య లక్షణాలను శ్రేణి ఆకృతిలో పద్ధతికి మొదటి పారామీటర్‌గా పంపవచ్చు Route::group.

రూట్ గ్రూప్ యొక్క సింటాక్స్

Route::group([], callback);  

పావురం []: సమూహ పద్ధతికి మొదటి పారామీటర్‌గా పంపబడిన శ్రేణి.

ఉదాహరణ Route Group నెల్ 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" ;   
   });  
});  

కోడ్‌లో, defiపద్ధతిని కనుక్కోండి సమూహం (), ఇది రెండు పారామితులను కలిగి ఉంటుంది, అనగా array e closure. లోపల closure, మనం చేయగలం defiఎన్ని పూర్తి చేయండి route మాకు కావాలి. పై కోడ్‌లో, మనకు ఉంది defiమూడు పూర్తి చేసింది route.

బ్రౌజర్ ద్వారా మనం URLని యాక్సెస్ చేస్తే localhost/myproject/first అప్పుడు మొదటిది జోక్యం చేసుకుంటుంది route బ్రౌజర్‌లో టైప్ చేయడం first way route.

URLతో localhost/myproject/second అప్పుడు రెండవది వస్తుంది route బ్రౌజర్‌లో టైప్ చేయడం second way route.

URLతో ఉన్నప్పుడు localhost/myproject/third అప్పుడు మూడవది వస్తుంది route బ్రౌజర్‌లో టైప్ చేయడం third way route.

యొక్క ఉపసర్గలు Route Groups

యొక్క ఉపసర్గలు route మేము మల్టిపుల్‌కు సాధారణమైన URL నిర్మాణాన్ని అందించాలనుకున్నప్పుడు అవి ఉపయోగించబడతాయి route.

మేము అన్ని మార్గాలకు ఉపసర్గను పేర్కొనవచ్చు defiలో ప్రిఫిక్స్ శ్రేణి ఎంపికను ఉపయోగించి సమూహంలోని నైట్స్ Route Groups.

ఉదాహరణ 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";  
   });  
});  

కింది URLల నుండి యాక్సెస్ చేయగల మూడు మార్గాలను కోడ్ కలిగి ఉంది:

/movie/godfather  --->   Godfather casting

/movie/pulpfiction  --->   Pulp Fiction casting

/movie/forrestgump  --->   Forrest Gump casting

మిడిల్

మేము సమూహంలోని అన్ని మార్గాలకు మిడిల్‌వేర్‌ను కూడా కేటాయించవచ్చు. మిడిల్‌వేర్ తప్పనిసరిగా ఉండాలి defiసమూహాన్ని సృష్టించే ముందు పూర్తయింది. దీన్ని ఎలా చేయాలో చూడటానికి, మా కథనాన్ని చదవండి లారావెల్ మిడిల్‌వేర్ ఎలా పనిచేస్తుంది.

ఉదాహరణ:

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

మార్గం పేరు ఉపసర్గలు

పద్దతి name యొక్క ప్రతి పేరును ఉపసర్గ చేయడానికి ఉపయోగించబడుతుంది route పేర్కొన్న స్ట్రింగ్‌తో. పద్ధతిలో name, మేము ఉపసర్గలో వెనుకంజలో ఉన్న అక్షరంతో స్ట్రింగ్‌ను పేర్కొనాలి.

ఉదాహరణకు web.php

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

Ercole Palmeri

ఇన్నోవేషన్ వార్తాలేఖ
ఆవిష్కరణకు సంబంధించిన అత్యంత ముఖ్యమైన వార్తలను మిస్ చేయవద్దు. ఇమెయిల్ ద్వారా వాటిని స్వీకరించడానికి సైన్ అప్ చేయండి.

ఇటీవల కథనాలు

Google యొక్క కొత్త కృత్రిమ మేధస్సు DNA, RNA మరియు "జీవితానికి సంబంధించిన అన్ని అణువులను" మోడల్ చేయగలదు

Google DeepMind దాని కృత్రిమ మేధస్సు మోడల్ యొక్క మెరుగైన సంస్కరణను పరిచయం చేస్తోంది. కొత్త మెరుగైన మోడల్ అందించడమే కాదు…

మే 29 మే

లారావెల్ యొక్క మాడ్యులర్ ఆర్కిటెక్చర్‌ను అన్వేషించడం

లారావెల్, దాని సొగసైన వాక్యనిర్మాణం మరియు శక్తివంతమైన లక్షణాలకు ప్రసిద్ధి చెందింది, ఇది మాడ్యులర్ ఆర్కిటెక్చర్‌కు బలమైన పునాదిని కూడా అందిస్తుంది. అక్కడ…

మే 29 మే

సిస్కో హైపర్‌షీల్డ్ మరియు స్ప్లంక్ యొక్క సముపార్జన భద్రత యొక్క కొత్త శకం ప్రారంభమవుతుంది

సిస్కో మరియు స్ప్లంక్ కస్టమర్‌లు భవిష్యత్తులో సెక్యూరిటీ ఆపరేషన్స్ సెంటర్ (SOC)కి తమ ప్రయాణాన్ని వేగవంతం చేయడంలో సహాయపడుతున్నాయి…

మే 29 మే

ఆర్థిక వైపుకు మించి: ransomware యొక్క అస్పష్టమైన ధర

గత రెండేళ్లుగా రాన్సమ్‌వేర్ వార్తల్లో ఆధిపత్యం చెలాయిస్తోంది. దాడులు జరుగుతాయని చాలా మందికి బాగా తెలుసు...

మే 29 మే

ఆగ్మెంటెడ్ రియాలిటీలో వినూత్న జోక్యం, కాటానియా పాలిక్లినిక్‌లో ఆపిల్ వ్యూయర్‌తో

ఆపిల్ విజన్ ప్రో కమర్షియల్ వ్యూయర్‌ని ఉపయోగించి ఆప్తాల్మోప్లాస్టీ ఆపరేషన్ కాటానియా పాలిక్లినిక్‌లో నిర్వహించబడింది…

మే 29 మే

పిల్లల కోసం పేజీలను కలరింగ్ చేయడం వల్ల కలిగే ప్రయోజనాలు - అన్ని వయసుల వారికి మేజిక్ ప్రపంచం

కలరింగ్ ద్వారా చక్కటి మోటారు నైపుణ్యాలను పెంపొందించుకోవడం, రాయడం వంటి క్లిష్టమైన నైపుణ్యాల కోసం పిల్లలను సిద్ధం చేస్తుంది. రంగు వేయడానికి…

మే 29 మే

భవిష్యత్తు ఇక్కడ ఉంది: షిప్పింగ్ పరిశ్రమ గ్లోబల్ ఎకానమీని ఎలా విప్లవాత్మకంగా మారుస్తోంది

నావికా రంగం నిజమైన ప్రపంచ ఆర్థిక శక్తి, ఇది 150 బిలియన్ల మార్కెట్ వైపు నావిగేట్ చేసింది...

మే 29 మే

ఆర్టిఫిషియల్ ఇంటెలిజెన్స్ ద్వారా ప్రాసెస్ చేయబడిన సమాచార ప్రవాహాన్ని నియంత్రించడానికి ప్రచురణకర్తలు మరియు OpenAI ఒప్పందాలపై సంతకం చేస్తారు

గత సోమవారం, ఫైనాన్షియల్ టైమ్స్ OpenAIతో ఒప్పందాన్ని ప్రకటించింది. FT దాని ప్రపంచ స్థాయి జర్నలిజానికి లైసెన్స్ ఇస్తుంది…

ఏప్రిల్ 29 మంగళవారం

మీ భాషలో ఇన్నోవేషన్ చదవండి

ఇన్నోవేషన్ వార్తాలేఖ
ఆవిష్కరణకు సంబంధించిన అత్యంత ముఖ్యమైన వార్తలను మిస్ చేయవద్దు. ఇమెయిల్ ద్వారా వాటిని స్వీకరించడానికి సైన్ అప్ చేయండి.

మాకు అనుసరించండి