مارک پلاس

تکنولوژی نوین اینترنتی

مسیرهای GET و POST در لاراول

دسته‌بندی‌ها

مسیرهای GET و POST در لاراول

🚀 مسیرهای GET و POST در لاراول


📌 مقدمه

در لاراول، مسیرها (routes) نحوه رسیدن به عملکردهای مختلف اپلیکیشن رو مشخص می‌کنن. دو نوع متداول از مسیرها، GET و POST هستند که هرکدام کاربرد خاص خودشون رو دارن.


🧠 تفاوت GET و POST

  • GET: این متد برای درخواست اطلاعات از سرور استفاده می‌شود. معمولاً برای نمایش داده‌ها یا بارگذاری صفحات است.

  • POST: این متد برای ارسال داده‌ها به سرور (مثلاً فرم‌ها یا اطلاعات حساس) استفاده می‌شود.


🔧 تعریف مسیرهای GET

در لاراول، می‌تونی از متد Route::get() برای تعریف مسیرهای GET استفاده کنی. معمولاً برای نمایش صفحات و دریافت اطلاعات از سرور به کار میره.

مثال ساده از GET:

php
Route::get('/home', function () { return view('home'); });

در این مثال، زمانی که کاربر به /home بره، ویو home.blade.php نمایش داده میشه.

مسیر با پارامتر:

php
Route::get('/user/{id}', function ($id) { return "User ID: " . $id; });

در این مثال، {id} یک پارامتر داینامیک هست که می‌تونه هر مقداری بگیره و به تابع پاس داده بشه.


🔧 تعریف مسیرهای POST

متد Route::post() برای دریافت داده‌ها از فرم‌ها یا درخواست‌های POST به کار میره.

مثال ساده از POST:

php
Route::post('/submit', function (Request $request) { return "Form Submitted. Name: " . $request->input('name'); });

در اینجا، وقتی کاربر فرم رو با متد POST ارسال کنه، داده‌ها در $request قرار می‌گیرن و می‌تونیم از اون‌ها استفاده کنیم.

مسیر با فرم:

html
<form action="/submit" method="POST"> @csrf <input type="text" name="name" placeholder="Enter your name"> <button type="submit">Submit</button> </form>

استفاده از @csrf برای محافظت از حملات CSRF ضروریه.


🧳 مسیرهای GET و POST با نام

بیشتر مواقع می‌خوای مسیرها رو با نام شناسایی کنی تا اگه نیاز به تغییر URL داشتی، کدها به‌راحتی قابل تغییر باشن.

مثال از نام‌گذاری مسیر GET:

php
Route::get('/home', function () { return view('home'); })->name('home');

استفاده از مسیر با نام:

php
$url = route('home');

🔒 استفاده از Middleware در مسیرهای GET و POST

می‌تونی middlewareهایی مثل auth رو روی مسیرهای GET یا POST اعمال کنی تا دسترسی‌ها رو محدود کنی.

مسیر GET با Middleware:

php
Route::get('/dashboard', function () { return view('dashboard'); })->middleware('auth');

مسیر POST با Middleware:

php
Route::post('/submit', function (Request $request) { return "Form Submitted"; })->middleware('auth');

📊 مسیریابی برای درخواست‌های GET و POST با کنترلر

در لاراول، می‌تونی مسیرها رو به کنترلرها وصل کنی تا کدهای منطقی و پردازش‌ها در کنترلرها قرار بگیرن.

تعریف مسیر GET به کنترلر:

php
Route::get('/user/{id}', [UserController::class, 'show']);

تعریف مسیر POST به کنترلر:

php
Route::post('/submit', [FormController::class, 'submit']);

🧑‍💻 چک‌لیست مسیرهای GET و POST

  • از Route::get() برای درخواست‌های GET و از Route::post() برای درخواست‌های POST استفاده کن

  • از پارامترها در مسیرها برای دریافت داده‌های داینامیک استفاده کن

  • از @csrf در فرم‌های POST برای جلوگیری از حملات CSRF استفاده کن

  • از Middleware برای کنترل دسترسی به مسیرها استفاده کن

  • مسیرها رو با نام تعریف کن تا قابلیت تغییر راحت‌تری داشته باشن

  • در صورت نیاز از کنترلر برای جداسازی منطق کدها استفاده کن


✅ جمع‌بندی

در لاراول، GET و POST به‌طور معمول برای دریافت داده‌ها و ارسال داده‌ها استفاده می‌شن. این دو متد اساس مسیرها در لاراول هستن و با استفاده از روش‌های ساده و کاربردی مثل پارامترها، نام‌گذاری مسیرها و استفاده از middleware می‌تونی برنامه‌ای امن و قابل‌مدیریت بسازی.

محتوای مرتبط

پست‌های مرتبط