మీ అప్లికేషన్ కోసం అభ్యర్థన 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.php
` o `api.php
` ) మరియు కోడ్ లైన్ను దీనితో ప్రారంభించండి `Route:: `
, మీరు ఆ నిర్దిష్ట మార్గానికి కేటాయించాలనుకుంటున్న అభ్యర్థనను అనుసరించి, అభ్యర్థనను అనుసరించి నిర్వహించే ఫంక్షన్ను పేర్కొనండి.
Laravel క్రింది మార్గాల పద్ధతులను అందిస్తుంది:
get
post
put
delete
patch
options
మార్గాలు ఉన్నాయి defiHTTPతో రూట్ క్లాస్లోని లారావెల్లో నేట్ చేయబడింది, ప్రత్యుత్తరం ఇవ్వడానికి మరియు మూసివేయడానికి మార్గం లేదా కంట్రోలర్.
లారావెల్లో మీరు మీ స్వంత మార్గాలను ఎలా సృష్టించుకోవచ్చో చూద్దాం.
ఇప్పుడు నేను టైమ్ టేబుల్ 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 DeepMind దాని కృత్రిమ మేధస్సు మోడల్ యొక్క మెరుగైన సంస్కరణను పరిచయం చేస్తోంది. కొత్త మెరుగైన మోడల్ అందించడమే కాదు…
లారావెల్, దాని సొగసైన వాక్యనిర్మాణం మరియు శక్తివంతమైన లక్షణాలకు ప్రసిద్ధి చెందింది, ఇది మాడ్యులర్ ఆర్కిటెక్చర్కు బలమైన పునాదిని కూడా అందిస్తుంది. అక్కడ…
సిస్కో మరియు స్ప్లంక్ కస్టమర్లు భవిష్యత్తులో సెక్యూరిటీ ఆపరేషన్స్ సెంటర్ (SOC)కి తమ ప్రయాణాన్ని వేగవంతం చేయడంలో సహాయపడుతున్నాయి…
గత రెండేళ్లుగా రాన్సమ్వేర్ వార్తల్లో ఆధిపత్యం చెలాయిస్తోంది. దాడులు జరుగుతాయని చాలా మందికి బాగా తెలుసు...
ఆపిల్ విజన్ ప్రో కమర్షియల్ వ్యూయర్ని ఉపయోగించి ఆప్తాల్మోప్లాస్టీ ఆపరేషన్ కాటానియా పాలిక్లినిక్లో నిర్వహించబడింది…
కలరింగ్ ద్వారా చక్కటి మోటారు నైపుణ్యాలను పెంపొందించుకోవడం, రాయడం వంటి క్లిష్టమైన నైపుణ్యాల కోసం పిల్లలను సిద్ధం చేస్తుంది. రంగు వేయడానికి…
నావికా రంగం నిజమైన ప్రపంచ ఆర్థిక శక్తి, ఇది 150 బిలియన్ల మార్కెట్ వైపు నావిగేట్ చేసింది...
గత సోమవారం, ఫైనాన్షియల్ టైమ్స్ OpenAIతో ఒప్పందాన్ని ప్రకటించింది. FT దాని ప్రపంచ స్థాయి జర్నలిజానికి లైసెన్స్ ఇస్తుంది…