آموزش Routing در لاراول پارت 1

آموزش Routing در لاراول پارت 1

سیستم Routing لاراول یکی از مهم ترین مواردی هست که شما باید یاد بگیرید. ما در این مقاله قراره یک بریم یک آشنایی با Routing در لاراول پیدا کنیم.

 

پوشه پیشفرض روت ها در لاراول کجاست؟

در لاراول پوشه پیشفرض برای نوشتن روت ها routes نام داره که حاوی چندین فایل هست که در پایین توضیح خواهیم داد هر کدوم چه کاری انجام میده.

  • web: نوشتن روت هایی که در مروگر قابل مشاهده هست مثل همین صفحه.
  • api: نوشتن روت های API.
  • console: حاوی ران کردن Task Scheduling و جاب ها.

 

فعال سازی روت های API در لاراول

در لاراول 11 به بعد برای نوشتن روت های api نیاز دارید که فعالش کنید، فقط کافیه دستور زیر بزنید:

php artisan install:api

بعد از اجرا این دستور، در پوشه routes یک فایل به نام api.php ساخته میشه همینطور در فایل bootstrap/app.php روت api رجسیتر میشه.

->withRouting(
api: __DIR__.'/../routes/api.php',    
apiPrefix: 'api/admin',    
// ...    
)

کار با انواع روت در لاراول

در لاراول به راحتی میتونید یک روت با متد get بسازید:

Route::get('uri', $callback);

در پارامتر اول، یک uri یا همون مسیری که برای روت میخواید تعریف کنید وارد میکنید و در پارامتر دوم هم اون کنترلر یا callback که نیاز دارید پاس میدید. مثل:

همینطور شما میتونید به راحتی با متد های زیر انواع روت در لاراول بسازید:

Route::post('uri', $callback);

Route::put('uri', $callback);

Route::patch('uri', $callback);

Route::delete('uri', $callback);

 

Dependency Injection در روت های لاراول

در لاراول شما میتونید از قابلیت Service Container در روت ها استفاده کنید. در مثال زیر شما به راحتی به کلاس Request دسترسی دارید بدون نیاز به ساخت شی ازش:

use IlluminateHttpRequest;
 
Route::get('/users', function (Request $request) {
// ...    
});
 
 

CSRF Protection

زمانی که از روت های POST، PATCH، PUT و DELETE استفاده میکنید، لاراول به صورت اتوماتیک از CSRF Token مراقبت میکنید. در فرم ها برای اینکه لاراول ارور نده میتونید از @csrf استفاده کنید:

<form method="POST" action="...">
    @csrf
    ...
</form>
 
 

روت های ریدایرکت (Redirect) در لاراول

برای اینکه شما بخواید کاربر به یک روتی ریدایرکت کنید میتونید از روش زیر استفاده کنید:
Route::redirect('...', '...');
اگر کاربر بخواید به صورت دائمی ریدایرکت کنید میتونید از متد زیر استفاده کنید:
Route::permanentRedirect('...', '...');
 
 

روت های ویو (View Route)

شما میتونید با متد view به صورت مستفیم یک ویو نشون بدید و نیازی به کنترلر ندارید:

Route::view('/uri', 'view');
 
Route::view('/uri', 'view', ['name' => 'Milwad']);
 

امیدواریم خوشتون اومده باشه💙🧨

0 نظر

برای ارسال نظر ابتدا ثبت نام یا ورود کنید 😉