فهرست:

یک وب اپلیکیشن متناسب با در خواست های مختلف به درخواست کاربر پاسخ می دهد. در این مبحث شما را با پاسخ های مختلف در وب اپلیکیشن های تولید شده توسط لاراول آشنا خواهیم کرد.

یک Response ساده در لاراول

لاراول چندین روش مختلف برای بازگشت Response فراهم می کند. Response را می توان از طریق روتر یا از طریق کنترلر ارسال کرد. در مثال زیر یک Response ساده را که بصورت یک String است نمایش می دهیم، این پاسخ به طور خودکار مناسب با در خواست HTTP ایجاد خواهد شد. کد زیر را در فایل app/Http/routes.php قرار دهید.

app/Http/routes.php
Route::get('/basic_response', function () {
   return 'Hello World';
});

برای تست Response مورد نظر آدرس زیر را بررسی نمایید.

http://localhost:8000/basic_response

خروجی مرورگر شما باید بصورت زیر باشد.

Hello World

Attaching Headers

Response را می توان با استفاده از متد header به هدرها پیوست کرد. ما همچنین می توانیم سری هدرها را همانطور که در کد نمونه زیر نشان داده شده پیوست کنیم.

return response($content,$status)
   ->header('Content-Type', $type)
   ->header('X-Header-One', 'Header Value')
   ->header('X-Header-Two', 'Header Value');

برای بررسی بهتر مثال زیر را بررسی نمایید، فایل app/Http/routes.php بصورت زیر ویرایش نمایید.

app/Http/routes.php
Route::get('/header',function() {
   return response("Hello", 200)->header('Content-Type', 'text/html');
});

آدرس زیر را اجرا نمایید.

http://localhost:8000/header

خروجی مرورگر شما باید بصورت زیر باشد.

Hello

Attaching Cookies

از متد withcookie در helper برای پیوست کوکی ها استفاده می شود. کوکی تولید شده در این متد را می توان با فراخوانی متد withcookie به Response پیوست کرد. به طور پیش فرض، تمام کوکی های تولید شده در لاراول رمزگذاری و امضا شده اند تا توسط مشتری قابل اصلاح یا خواندن نباشند. برای بررسی بهتر مثال زیر را بررسی نمایید، فایل app/Http/routes.php بصورت زیر ویرایش نمایید.

app/Http/routes.php
Route::get('/cookie',function() {
   return response("Hello", 200)->header('Content-Type', 'text/html')
      ->withcookie('name','Virat Gandhi');
});

آدرس زیر را اجرا نمایید.

http://localhost:8000/cookie

خروجی مرورگر شما باید بصورت زیر باشد.

Hello

JSON Response

خروجی JSON را می توان با استفاده از متد json ارسال کرد. این متد به صورت خودکار سربرگ Content-Type را روی application/json تنظیم می کند. متد json آرایه دریافتی شما را به صورت خودکار به پاسخ json مناسب تبدیل می کند. برای بررسی بهتر مثال زیر را بررسی نمایید، فایل app/Http/routes.php بصورت زیر ویرایش نمایید.

app/Http/routes.php
Route::get('json',function() {
   return response()->json(['site' => 'uclass', 'lesson' => 'Laravel']);
});

آدرس زیر را اجرا نمایید.

http://localhost:8000/json

خروجی مرورگر شما باید بصورت زیر باشد.

{"site":"uclass", "lesson":"Laravel"}