مضامین

لاریول: لاریول روٹنگ کا تعارف

Laravel میں روٹنگ صارفین کو تمام درخواستوں کو مناسب کنٹرولر تک پہنچانے کی اجازت دیتی ہے۔ Laravel میں زیادہ تر بنیادی راستے بندش کے ساتھ ایک یکساں اثاثہ شناخت کنندہ کو پہچانتے اور قبول کرتے ہیں، جو روٹنگ کا ایک سادہ اور تاثراتی طریقہ فراہم کرتے ہیں۔

روٹ (راستہ) کیا ہے؟

راستہ آپ کی درخواست کے لیے درخواست URL بنانے کا ایک طریقہ ہے۔ ان URLs کو کسی ویب سائٹ پر مخصوص فائلوں کے ساتھ منسلک ہونے کی ضرورت نہیں ہے اور یہ انسانی پڑھنے کے قابل اور SEO دوستانہ ہیں۔

Laravel میں، le فولڈر کے اندر راستے بنائے جاتے ہیں۔ 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 میں ایک راستہ کیا ہے؟

Laravel کے تمام راستے ہیں۔ definiti ڈائریکٹری کے اندر موجود پاتھ فائلوں میں routes. روٹ مینجمنٹ ایپلی کیشن، defiفائل میں nished 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

Laravel کے تمام راستے ہیں۔ defiنیتی آپ میں routing، جو ڈائرکٹری dei کے اندر واقع ہیں۔ routes. نتیجتاً، l'AppProvidersRouteServiceProvider درخواست کی لائنز ان ریکارڈوں کو۔ فائل route/web.php ان راستوں پر مشتمل ہے جو آپ کے ویب انٹرفیس کے لیے منظم ہیں۔

راستے کا ڈھانچہ بہت آسان ہے۔ مناسب فائل کھولیں (`web.phpo `api.php) اور اس کے ساتھ کوڈ کی لائن شروع کریں۔ `Route:: `، اس درخواست کے بعد آپ اس مخصوص راستے کو تفویض کرنا چاہتے ہیں اور پھر اس فنکشن کی وضاحت کریں جو درخواست کے بعد انجام دیا جائے گا۔

Laravel مندرجہ ذیل راستے کے طریقے پیش کرتا ہے:

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

راستے ہیں۔ defiلاراویل میں روٹ کلاس کے اندر HTTP کے ساتھ، جواب دینے کا راستہ اور بند، یا کنٹرولر۔

Laravel میں راستے کیسے بنائیں

آئیے دیکھتے ہیں کہ آپ Laravel میں اپنے راستے کیسے بنا سکتے ہیں۔

ایک بنیادی 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' پیدا کیا جائے گا.

روٹ پیرامیٹرز کی رکاوٹوں کے طور پر باقاعدہ اظہار

پچھلی مثال میں ہم نے ضرب جدول بنانے کے لیے ایک راستہ بنایا تھا، لیکن ہم کیسے یقینی بنا سکتے ہیں کہ راستے کا پیرامیٹر درحقیقت ایک عدد ہے، تاکہ ضرب جدول تیار کرتے وقت غلطیوں سے بچا جا سکے۔

Laravel میں، آپ کر سکتے ہیں۔ defi` طریقہ استعمال کرتے ہوئے روٹ پیرامیٹر پر ایک رکاوٹ کو ختم کریں۔whereروٹ مثال پر۔ The `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اپنے راستے کا نام بتاؤ۔ یہ نام اکثر بہت مفید ہوتا ہے۔ مثال کے طور پر، اگر آپ کسی صارف کو ایک مقام سے دوسری جگہ بھیجنا چاہتے ہیں، تو آپ کو ایسا کرنے کی ضرورت نہیں ہے۔ defiمکمل ری ڈائریکٹ URL کو nish کریں۔ آپ صرف اس کا نام دے سکتے ہیں۔ آپ کر سکتے ہیں۔ 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، سینزا 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.

یو آر ایل کے ساتھ localhost/myproject/second پھر دوسرا آتا ہے route براؤزر میں ٹائپ کرنا second way route.

جبکہ یو آر ایل کے ساتھ 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";  
   });  
});  

کوڈ میں تین راستے ہیں جن تک درج ذیل URLs سے رسائی حاصل کی جا سکتی ہے۔

/movie/godfather  --->   Godfather casting

/movie/pulpfiction  --->   Pulp Fiction casting

/movie/forrestgump  --->   Forrest Gump casting

Middleware

ہم گروپ کے اندر تمام راستوں پر مڈل ویئر بھی تفویض کر سکتے ہیں۔ مڈل ویئر ہونا چاہیے۔ 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

انوویشن نیوز لیٹر
جدت پر سب سے اہم خبروں کو مت چھوڑیں۔ ای میل کے ذریعے انہیں وصول کرنے کے لیے سائن اپ کریں۔

حالیہ مضامین

اسمارٹ لاک مارکیٹ: مارکیٹ ریسرچ رپورٹ شائع ہوئی۔

سمارٹ لاک مارکیٹ کی اصطلاح پیداوار، تقسیم اور استعمال کے ارد گرد کی صنعت اور ماحولیاتی نظام سے مراد ہے…

مارچ 27 2024

ڈیزائن کے نمونے کیا ہیں: انہیں کیوں استعمال کریں، درجہ بندی، فوائد اور نقصانات

سافٹ ویئر انجینئرنگ میں، ڈیزائن پیٹرن ان مسائل کا بہترین حل ہیں جو عام طور پر سافٹ ویئر ڈیزائن میں پائے جاتے ہیں۔ میں جیسا ہوں…

مارچ 26 2024

صنعتی مارکنگ کا تکنیکی ارتقا

صنعتی مارکنگ ایک وسیع اصطلاح ہے جس میں کئی تکنیکوں کو شامل کیا جاتا ہے جو کسی کی سطح پر مستقل نشانات بنانے کے لیے استعمال ہوتی ہیں…

مارچ 25 2024

VBA کے ساتھ لکھے گئے Excel Macros کی مثالیں۔

درج ذیل سادہ ایکسل میکرو مثالیں VBA کا تخمینہ پڑھنے کے وقت کا استعمال کرتے ہوئے لکھی گئیں: 3 منٹ مثال…

مارچ 25 2024

اپنی زبان میں انوویشن پڑھیں

انوویشن نیوز لیٹر
جدت پر سب سے اہم خبروں کو مت چھوڑیں۔ ای میل کے ذریعے انہیں وصول کرنے کے لیے سائن اپ کریں۔

ہمارے ساتھ چلیے