මාර්ගය යනු ඔබගේ යෙදුම සඳහා ඉල්ලීම් 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');
});
සියලුම Laravel මාර්ග වේ 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 Middleware ඉල්ලීම සහ ප්රතික්රියාව අතර පාලමක් ලෙස ක්රියා කරයි. එය යම් ආකාරයක පෙරහන් සංරචකයක් විය හැකිය.
Laravel සමඟ වැඩ කරන්න මිඩ්ල්වෙයාර් සේවාලාභී යෙදුම සත්යාපනය කර තිබේද නැද්ද යන්න තහවුරු කිරීමේ කාර්යය ඇත. සේවාලාභියා තහවුරු කර ඇති අවස්ථාවක, පසුව මාර්ගගත කිරීම මුල් පිටුවට හෝ පිවිසුම් පිටුවට යළි-යොමු කරයි.
route
පෙර කේතය defiමුල් පිටුවට මාර්ගයක් නිශ්ශබ්ද කරයි. මෙම මාර්ගයට ඉල්ලීමක් ලැබෙන විට get
එක් /
, ආපසු ලබා දෙනු ඇත view
welcome
.
සියලුම Laravel මාර්ග වේ definiti ඔබේ routing
, dei නාමාවලිය තුළ පිහිටා ඇත routes
. ප්රතිඵලයක් වශයෙන්, l'AppProvidersRouteServiceProvider
යෙදුමේ මෙම වාර්තා පෙළගස්වයි. ගොනුව route/web.php
ඔබගේ වෙබ් අතුරු මුහුණත සඳහා කළමනාකරණය කරන මාර්ග අඩංගු වේ.
මාර්ගයේ ව්යුහය ඉතා සරල ය. සුදුසු ගොනුව විවෘත කරන්න (`web.php
` o `api.php
` ) සහ කේතයේ රේඛාව ආරම්භ කරන්න `Route:: `
, ඔබට එම නිශ්චිත මාර්ගයට පැවරීමට අවශ්ය ඉල්ලීමෙන් පසුව ඉල්ලීමෙන් පසුව සිදු කෙරෙන කාර්යය සඳහන් කරන්න.
Laravel පහත මාර්ග ක්රම ඉදිරිපත් කරයි:
get
post
put
delete
patch
options
මාර්ග වේ defiHTTP සමඟ මාර්ග පන්තිය තුළ Laravel හි ඇතුළත් කර ඇත, පිළිතුරු දීමට මාර්ගය සහ වසා දැමීම, හෝ පාලකය.
Laravel හි ඔබේම මාර්ගයක් සාදා ගන්නේ කෙසේදැයි බලමු.
දැන් මම 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 වගුව ජනනය කරයිdefiනයිට් සහ පරිශීලකයෙක් ` වෙත ගමන් කරන්නේ නම්/table/{number}
ඉන්පසු අංක වගුව 'number'
නිෂ්පාදනය කරනු ඇත.
පෙර උදාහරණයේදී අපි ගුණ කිරීමේ වගුව ජනනය කිරීම සඳහා මාර්ගයක් නිර්මාණය කළෙමු, නමුත් ගුණ කිරීමේ වගුව ජනනය කිරීමේදී දෝෂ මඟහරවා ගැනීම සඳහා මාර්ගයේ පරාමිතිය ඇත්ත වශයෙන්ම අංකයක් බව සහතික කර ගන්නේ කෙසේද?
Laravel දී, ඔබට පුළුවන් 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 ව්යතිරේකය.
Laravel දී, ඔබට පුළුවන් defiමාර්ගයක් සඳහා පාලක ක්රමයක් nish. පාලක ක්රමයක් සියලු ක්රියා සිදු කරයි defiපරිශීලකයෙකු මාර්ගයට පිවිසෙන සෑම අවස්ථාවකම nite.
පහත කේතය සමඟ අපි පාලක ක්රමය පවරමු 'functionname'
මාර්ගයකට:
Route:: get ( '/home' , 'YourController@functionname' ) ;
කේතය ආරම්භ වේ `Route::`
නිසා defiමාර්ගය සඳහා ඉල්ලීම් ක්රමය නිෂ්ප්රභ කරයි. පසුව, defiක්රමයේ නමට පෙර @ සංකේතය එක් කිරීමෙන් ක්රමය සමඟ ඔබේ මාර්ගය සහ පාලකය අවසන් කරන්න.
Laravel දී, ඔබට පුළුවන් 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
, වචනාර්ථයෙන් මාර්ග කණ්ඩායම්, Laravel හි අත්යවශ්ය අංගයකි, එමඟින් ඔබට මාර්ග කණ්ඩායම් කිරීමට ඉඩ සලසයි. ඔබට සියලු සමූහගත මාර්ග සඳහා උපලක්ෂණ යෙදීමට අවශ්ය විට මාර්ග කණ්ඩායම් ප්රයෝජනවත් වේ. ඔබ මාර්ග කණ්ඩායම් භාවිතා කරන්නේ නම්, ඔබට එක් එක් මාර්ගයට තනි තනිව උපලක්ෂණ යෙදිය යුතු නැත; මෙය අනුපිටපත් වීම වළක්වයි. වැනි ගුණාංග බෙදා ගැනීමට එය ඔබට ඉඩ සලසයි middleware
o namespaces
, සෙන්සා 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අපි ක්රමය සොයා ගනිමු සමූහය(), පරාමිති දෙක අඩංගු වන, i.e 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හි උපසර්ග අරා විකල්පය භාවිතා කරමින් සමූහය තුළ 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";
});
});
පහත URL වලින් ප්රවේශ විය හැකි මාර්ග තුනක් කේතයේ අඩංගු වේ:
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
අපට කණ්ඩායමක් තුළ ඇති සියලුම මාර්ග සඳහා මිඩ්ල්වෙයාර් පැවරිය හැකිය. මිඩ්ල්වෙයාර් විය යුතුය defiකණ්ඩායම නිර්මාණය කිරීමට පෙර අවසන්. මෙය කරන්නේ කෙසේදැයි බැලීමට, අපගේ ලිපිය කියවන්න Laravel මිඩ්ල්වෙයාර් එය ක්රියා කරන ආකාරය.
උදාහරණය:
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
Apple Vision Pro වාණිජ නරඹන්නා භාවිතයෙන් අක්ෂි ශල්යකර්මයක් Catania Polyclinic හි සිදු කරන ලදී.
වර්ණ ගැන්වීම හරහා සියුම් මෝටර් කුසලතා වර්ධනය කිරීම ලිවීම වැනි වඩාත් සංකීර්ණ කුසලතා සඳහා දරුවන් සූදානම් කරයි. වර්ණ ගැන්වීමට...
නාවික අංශය සැබෑ ගෝලීය ආර්ථික බලවතෙකු වන අතර එය බිලියන 150 ක වෙළඳපලක් කරා ගමන් කර ඇත.
පසුගිය සඳුදා ෆිනෑන්ෂල් ටයිම්ස් OpenAI සමඟ ගිවිසුමක් නිවේදනය කළේය. FT එහි ලෝක මට්ටමේ පුවත්පත් කලාවට බලපත්ර ලබා දෙයි…