መንገዱ ለመተግበሪያዎ የጥያቄ URL የሚፈጥሩበት መንገድ ነው። እነዚህ ዩአርኤሎች በድር ጣቢያ ላይ ካሉ የተወሰኑ ፋይሎች ጋር መያያዝ አያስፈልጋቸውም እና ለሰው ሊነበቡ የሚችሉ እና ለ SEO ተስማሚ ናቸው።
በላራቬል ውስጥ፣ በ le አቃፊ ውስጥ ዱካዎች ተፈጥረዋል። routes
. በፋይሉ ውስጥ ተፈጥረዋል web.php
ለድር ጣቢያዎች, እና ውስጥ api.php
ለኤ.ፒ.አይ.
እነዚህ route
ለቡድኑ ተመድበዋል middleware
አውታረ መረብ, የክፍለ ጊዜ ሁኔታን እና ደህንነትን ማድመቅ CSRF
. ውስጥ ያሉት መንገዶች route/api.php
አገር አልባ ናቸው እና ለኤፒአይ መካከለኛ ዌር ቡድን ተመድበዋል።
ቅድመ-መጫኑdefiላራቬል ኒታ ከሁለት መንገዶች አንዱ ለድር እና አንድ ለኤፒአይ ይመጣል። ለድር ውስጥ ያለው መንገድ ይህንን ይመስላል web.php
:
Route::get('/', function () {
return view('welcome');
});
ሁሉም የላራቬል መንገዶች ናቸው። definiti በማውጫው ውስጥ በሚገኙ የዱካ ፋይሎች ውስጥ 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 ዱካዎችን ማስገባት ፣ ማዘመን ፣ ማየት እና መሰረዝን የሚያቀርብ። በሁለተኛ ደረጃ, ለማስገባት, ለማዘመን, ለመመልከት እና ለመሰረዝ ዘዴን የሚያቀርብ የንብረት መቆጣጠሪያ ይፍጠሩ.
ቅድመ-መጫኑdefiላራቬል ኒታ ከሁለት መንገዶች ጋር አብሮ ይመጣል፡ አንድ ለድር እና አንድ ለኤፒአይ። በ web.php ውስጥ ወደ ድር የሚወስደው መንገድ ምን እንደሚመስል እነሆ፡-
Route::get(‘/’, function () {
return view(‘welcome’);
});
ላራቬል ሚድዌር በጥያቄው እና በምላሹ መካከል እንደ ድልድይ ሆኖ ይሠራል። አንድ ዓይነት የማጣሪያ አካል ሊሆን ይችላል.
Laravel ከ ሀ ጋር መስራት መካከለኛ የደንበኛው ማመልከቻ የተረጋገጠ መሆኑን ወይም አለመሆኑን የማረጋገጥ ተግባር ያለው. ደንበኛው የተረጋገጠ ከሆነ ፣ ከዚያ ማዞሪያው ወደ መነሻ ገጽ ወይም የመግቢያ ገጽ ይመራዋል።
route
የቀድሞው ኮድ defiወደ መነሻ ገጽ የሚወስደውን መንገድ ያዘጋጃል። ይህ መንገድ ጥያቄ ሲደርሰው get
በሰዓት /
፣ ይመለሳል view
welcome
.
ሁሉም የላራቬል መንገዶች ናቸው። defiኒቲ በእርስዎ ውስጥ routing
, በማውጫው ውስጥ የሚገኙት dei routes
. በዚህም ምክንያት እ.ኤ.አ. l'AppProvidersRouteServiceProvider
የመተግበሪያው መስመሮች እነዚህን መዝገቦች. ፋይሉ route/web.php
ለድር በይነገጽዎ የሚተዳደሩትን መንገዶች ይዟል።
የመንገዱን መዋቅር በጣም ቀላል ነው. ተገቢውን ፋይል ክፈት (`web.php
` o `api.php
` ) እና የኮዱን መስመር በ ጋር ይጀምሩ `Route:: `
, ከዚያ በኋላ ለዚያ የተለየ መንገድ ለመመደብ የሚፈልጉት ጥያቄ እና ከዚያም ጥያቄውን ተከትሎ የሚከናወነውን ተግባር ይግለጹ.
ላራቬል የሚከተሉትን መንገዶች ያቀርባል:
get
post
put
delete
patch
options
መንገዶቹ ናቸው። defiበላራቬል ውስጥ በ Route ክፍል ውስጥ በኤችቲቲፒ ፣ ምላሽ የሚሰጡበት እና የሚዘጋበት መንገድ ወይም ተቆጣጣሪው ውስጥ ተሰጥቷል።
በላራቬል ውስጥ የራስዎን መንገዶች እንዴት መፍጠር እንደሚችሉ እንይ።
አሁን የ 2 የጊዜ ሰንጠረዥን የሚታተም መሰረታዊ መንገድ እፈጥራለሁ ።
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
ከላይ ባለው ኮድ ለዩአርኤል የGET ጥያቄ ዱካ ፈጠርኩ። /table
, ይህም የ 2 የጊዜ ሰንጠረዥን በስክሪኑ ላይ ያትማል.
አሁን የማባዛት ሠንጠረዡን የምንፈልገውን ቁጥር በመለካት አንድ አይነት ኮድ እንይ፡
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
በኮዱ ውስጥ 'number
' በቅንፍዎቹ መካከል መለኪያውን ይወክላል፣ ማለትም የማባዛት ሠንጠረዡ የሚሰላበት ቁጥር። የአይነቱ ዩአርኤል በተገለፀ ቁጥር /table/n
, ከዚያም የቁጥር ጠረጴዛው ይታተማል n
.
ሁለቱንም ባህሪያት በአንድ መንገድ የማጣመር መንገድም አለ. ላራቬል የጥያቄ ምልክትን በመጠቀም የአማራጭ መለኪያዎችን ለመጨመር የሚያስችልዎትን የአማራጭ መለኪያዎች ባህሪ ያቀርባል. ከአማራጭ መለኪያ እና ከቅድመ ዋጋ በኋላ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ተጠቃሚው መንገዱን በደረሰ ቁጥር nite።
በሚከተለው ኮድ የመቆጣጠሪያ ዘዴን እንመድባለን 'functionname'
ወደ መንገድ:
Route:: get ( '/home' , 'YourController@functionname' ) ;
ኮዱ የሚጀምረው በ `Route::`
እና ስለዚህ defiለመንገድ የጥያቄ ዘዴን ያበላሻል። በመቀጠልም እ.ኤ.አ. defiከዘዴው ስም በፊት የ @ ምልክቱን በመጨመር መንገድዎን እና መቆጣጠሪያዎን ከስልቱ ጋር ያጠናቅቁ።
በላራቬል ውስጥ, ይችላሉ defiለመንገድህ ስም ስጥ። ይህ ስም ብዙውን ጊዜ በጣም ጠቃሚ ነው. ለምሳሌ፣ ተጠቃሚን ከአንድ ቦታ ወደ ሌላ ማዞር ከፈለጉ፣ ማድረግ የለብዎትም defiሙሉውን የማዘዋወር ዩአርኤል ይሽጡ። ስሙን ብቻ መስጠት ይችላሉ. ትችላለህ 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 = route('table');
በተመሳሳይ፣ ወደዚህ URL ለማዞር ትክክለኛው አገባብ የሚከተለው ይሆናል፡-
return redirect()->route('table');
Route Groups
I Route Groups
, በጥሬው የመንገዶች ቡድኖች, በላራቬል ውስጥ አስፈላጊ ባህሪ ነው, ይህም ዱካዎችን ለመቧደን ያስችልዎታል. ለሁሉም የተመደቡ ዱካዎች ባህሪያትን መተግበር ሲፈልጉ የመንገድ ቡድኖች ጠቃሚ ናቸው። የመንገድ ቡድኖችን ከተጠቀሙ, ባህሪያቱን በእያንዳንዱ መንገድ በተናጠል መተግበር የለብዎትም; ይህ ማባዛትን ያስወግዳል. መሰል ባህሪያትን እንዲያካፍሉ ያስችልዎታል middleware
o namespaces
፣ senza defiበእያንዳንዱ የግል መንገድ ላይ እነዚህን ባህሪያት ጨርስ. እነዚህ የጋራ ባህሪያት እንደ መጀመሪያው ዘዴው በድርድር ቅርጸት ሊተላለፉ ይችላሉ። Route::group
.
የመንገድ ቡድን አገባብ
Route::group([], callback);
ርግብ []: እንደ መጀመሪያው መለኪያ ወደ ቡድን ዘዴ የተላለፈ ድርድር ነው።
ምሳሌ የ Route Group
nel 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
.
በአሳሽ በኩል ዩአርኤሉን ከደረስን localhost/myproject/first
ከዚያም የመጀመሪያው ጣልቃ ይገባል route
በአሳሹ ውስጥ መተየብ first way route
.
ከዩአርኤል ጋር localhost/myproject/second
ከዚያም ሁለተኛው ይመጣል route
በአሳሹ ውስጥ መተየብ second way route
.
ከዩአርኤል ጋር እያለ localhost/myproject/third
ከዚያም ሦስተኛው ይመጣል route
በአሳሹ ውስጥ መተየብ third way route
.
Route Groups
ቅድመ ቅጥያ የ route
ለብዙዎች የጋራ የሆነ የዩአርኤል መዋቅር ለማቅረብ ስንፈልግ ጥቅም ላይ ይውላሉ route
.
ለሁሉም መንገዶች ቅድመ ቅጥያውን ልንገልጽ እንችላለን defiቅድመ ቅጥያ ድርድር አማራጭን በመጠቀም በቡድኑ ውስጥ nites 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";
});
});
ኮዱ ከሚከተሉት ዩአርኤሎች ሊደረስባቸው የሚችሉ ሶስት መንገዶችን ይዟል።
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
እንዲሁም በቡድን ውስጥ ላሉ ሁሉም መንገዶች መካከለኛ ዌር መመደብ እንችላለን። መካከለኛው እቃ መሆን አለበት defiቡድኑን ከመፍጠሩ በፊት ጨርሷል. ይህንን እንዴት ማድረግ እንደሚቻል ለማየት, ጽሑፋችንን ያንብቡ Laravel middleware እንዴት እንደሚሰራ.
ምሳሌ:
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
Coveware by Veeam የሳይበር ዘረፋ የአደጋ ምላሽ አገልግሎቶችን መስጠቱን ይቀጥላል። Coveware የፎረንሲክስ እና የማገገሚያ ችሎታዎችን ያቀርባል…
የመተንበይ ጥገና የዘይት እና ጋዝ ዘርፉን አብዮት እያደረገ ነው፣ ለዕፅዋት አስተዳደር ፈጠራ እና ንቁ አቀራረብ።…
የዩኬ ሲኤምኤ ስለ ቢግ ቴክ ባህሪ በአርቴፊሻል ኢንተለጀንስ ገበያ ላይ ማስጠንቀቂያ ሰጥቷል። እዚያ…
የሕንፃዎችን ኢነርጂ ውጤታማነት ለማሳደግ በአውሮፓ ህብረት የተቀረፀው የ"ኬዝ አረንጓዴ" ድንጋጌ የህግ አውጭ ሂደቱን በ…