رستو ھڪڙو طريقو آھي توھان جي ايپليڪيشن لاءِ درخواست URL ٺاھيو. اهي URLs ويب سائيٽ تي مخصوص فائلن سان لاڳاپيل هجڻ جي ضرورت ناهي ۽ انسان پڙهڻ لائق ۽ ايس اي او دوستانه آهن.
Laravel ۾، رستا لي فولڊر اندر ٺاهيا ويا آهن routes
. اهي فائل ۾ ٺاهيا ويا آهن web.php
ويب سائيٽن لاء، ۽ اندر api.php
APIs لاءِ.
هنن route
گروپ کي مقرر ڪيو ويو آهي middleware
نيٽ ورڪ، نمايان ڪرڻ سيشن جي حيثيت ۽ سيڪيورٽي CSRF
. ۾ رستا route/api.php
اهي بي رياست آهن ۽ API مڊل ويئر گروپ کي لڳايو ويو آهي.
قبل از انسٽاليشنdefiLaravel nita ٻن رستن سان گڏ اچي ٿو، ھڪڙو ويب لاء ۽ ھڪڙو API لاء. هي اهو آهي جيڪو ويب لاءِ رستو ڏسڻ ۾ اچي ٿو web.php
:
Route::get('/', function () {
return view('welcome');
});
سڀ Laravel رستا آهن definiti ڊاريڪٽري ۾ واقع path فائلن ۾ 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
رستا آهن definited in Laravel اندر روٽ ڪلاس ۾ HTTP سان، جواب ڏيڻ جو رستو ۽ بند ڪرڻ، يا ڪنٽرولر.
اچو ته ڏسو ته توهان 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
' braces جي وچ ۾ پيراميٽر جي نمائندگي ڪري ٿو، يعني اهو انگ جنهن لاءِ ضرب جدول کي ڳڻيو ويندو. جڏهن ته قسم جو 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'
پيدا ڪيو ويندو.
پوئين مثال ۾ اسان ضرب جدول پيدا ڪرڻ لاءِ رستو ٺاھيو آھي، پر اسان ڪيئن پڪ ڪري سگھون ٿا ته رستي جو پيٽرول اصل ۾ ھڪڙو نمبر آھي، ضرب جدول کي ٺاھيندي غلطين کان بچڻ لاءِ؟
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رستي لاءِ ڪنٽرولر جو طريقو. هڪ ڪنٽرولر طريقو سڀني عملن کي انجام ڏئي ٿو definite هر وقت هڪ صارف رستي تائين رسائي ڪري ٿو.
هيٺ ڏنل ڪوڊ سان اسان ڪنٽرولر جو طريقو تفويض ڪري رهيا آهيون 'functionname'
رستي ڏانهن:
Route:: get ( '/home' , 'YourController@functionname' ) ;
ڪوڊ سان شروع ٿئي ٿو `Route::`
۽ تنهن ڪري defiرستي جي درخواست جي طريقي کي ختم ڪري ٿو. بعد ۾، defiپنھنجي رستي ۽ ڪنٽرولر کي ختم ڪريو طريقي سان گڏ @ علامت کي شامل ڪندي طريقي جي نالي کان اڳ.
Laravel ۾، توهان ڪري سگهو ٿا defiتوھان جي رستي لاء ھڪڙو نالو ڏيو. هي نالو اڪثر ڪري مفيد آهي. مثال طور، جيڪڏھن توھان چاھيو ٿا ھڪڙي صارف کي ھڪڙي جڳھ کان ٻئي ڏانھن ڏانھن، توھان کي ڪرڻ جي ضرورت نه آھي definish مڪمل ريڊائريڪٽ 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 = route('table');
اهڙي طرح، هن URL ڏانهن موٽڻ لاء، صحيح نحو هوندو:
return redirect()->route('table');
Route Groups
I Route Groups
, لفظي طور تي رستو گروپ، Laravel ۾ هڪ لازمي خصوصيت آهي، جيڪا توهان کي گروپ جي رستن جي اجازت ڏئي ٿي. پاٿ گروپ مفيد آھن جڏھن توھان چاھيو ٿا خاصيتون لاڳو ڪرڻ لاءِ سڀني گروپ ٿيل رستن تي. جيڪڏهن توهان رستو گروپ استعمال ڪندا آهيو، توهان کي هر رستي تي انفرادي طور تي خاصيتون لاڳو ڪرڻ جي ضرورت ناهي؛ هي نقل کان پاسو ڪري ٿو. اهو توهان کي خاصيتون حصيداري ڪرڻ جي اجازت ڏئي ٿو جهڙوڪ 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
.
اسان سڀني رستن لاء اڳيفڪس بيان ڪري سگھون ٿا definites گروپ اندر prefix array آپشن in استعمال ڪندي 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";
});
});
ڪوڊ ۾ ٽي رستا شامل آھن جيڪي ھيٺين URLs مان رسائي سگھجن ٿيون:
/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
رنگ سازي ذريعي سٺي موٽر صلاحيتن کي ترقي ڪرڻ ٻارن کي وڌيڪ پيچيده صلاحيتن لاء تيار ڪري ٿو جهڙوڪ لکڻ. رنگ ڏيڻ…
بحري شعبي هڪ حقيقي عالمي معاشي طاقت آهي، جيڪا 150 بلين مارڪيٽ جي طرف نيويگيٽ ڪئي آهي ...
گذريل سومر، فنانشل ٽائمز OpenAI سان هڪ ڊيل جو اعلان ڪيو. ايف ٽي پنهنجي عالمي سطح جي صحافت کي لائسنس ڏئي ٿو ...
لکين ماڻهو ادا ڪن ٿا اسٽريمنگ سروسز لاءِ، ادا ڪندا مھينا سبسڪرپشن فيس. اها عام راءِ آهي ته توهان…