رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش پاسخ های HTTP در لاراول 5
#1
پاسخ ساده

بعد از دریافت درخواست در لاراول و انجام عملیات مورد نظر باید پاسخی هم ایجاد کنیم. ساده ترین نوع پاسخ return رشته هست که قبلا هم با آن آشنا شدیم :

کد پی‌اچ‌پی:
Route::get('/', function()
{
 
   return 'Hello World';
}); 


ایجاد پاسخ دلخواه

با استفاده از کلاس Response یا تابع کمکی response می توانیم یک پاسخ دلخواه ایجاد کنیم مثلا مثال زیر را در نظر بگیرید :


کد پی‌اچ‌پی:
return response($content$status)
 
             ->header('Content-Type'$value); 


محتویات را به عنوان پارامتر اول و [url=http://en.wikipedia.org/wiki/List_of_HTTP_status_codes][/url]status code را به عنوان پارامتر دوم به آن بدهیم و همچنین با استفاده از متد header نوع هدر را هم مشخص کنیم مثلا application/pdf.




همینطور که در مثال زیر می بینید می توانید یک فایل ویو و همچنین یک فایل کوکی را هم به عنوان پاسخ ارسال کنید و استفاده از متدها به صورت زنجیره ای امکان پذیر است.


کد پی‌اچ‌پی:
return response()->view('hello')->header('Content-Type'$type)
 
                ->withCookie(cookie('name''value')); 


Redirect


با استفاده از تابع کمکی redirect و افزودن مسیر به آن می توانیم به مسیر مورد نظر هدایت شویم.


کد پی‌اچ‌پی:
return redirect('user/login');
 
return 
redirect('user/login')->with('message''Login Failed'); 

همچنین می توانیم به همراه ریدایرکت کردن یک داده flash هم ارسال کنیم.


با استفاده از متد back می توانیم به مسیر قبلی که بودیم دوباره هدایت شویم.

کد پی‌اچ‌پی:
return redirect()->back();
 
return 
redirect()->back()->withInput(); 


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


می توانیم با استفاده از نام مسیر که در فایل routes.php تعریف میکنیم هم ریدایرکت را با استفاده از متد route انجام دهیم.

کد پی‌اچ‌پی:
return redirect()->route('login');
 
// For a route with the following URI: profile/{id}
 
return redirect()->route('profile', [1]); 


همچنین می توانیم با استفاده از یک آرایه به عنوان پارامتر دوم متد route داده هم به آن ارسال کنیم.


می توانیم با استفاده از متد action به یک اکشن در کلاس کنترلر دیگری هدایت شویم که بایستی نام کلاس با فضای نام آن نوشته شود و همچنین در صورت وجود پارامتر به صورت آرایه به عنوان پارامتر دوم به آن اضافه می کنیم.

کد پی‌اچ‌پی:
return redirect()->action('App\Http\Controllers\HomeController@index  ');
 
return 
redirect()->action('App\Http\Controllers\UserController@profi  le', ['user' => 1]); 


ایجاد پاسخ به صورت JSON

با استفاده از متد json که یک آرایه را به عنوان پارامتر ورودی دریافت میکنید و خروجی آن به صورت JSON می باشد.

کد پی‌اچ‌پی:
return response()->json(['name' => 'Abigail''state' => 'CA']); 


ایجاد پاسخ به صورت دانلود فایل

با استفاده از متد download که مسیر فایل را به عنوان پارامتر می گیرد و دو پارامتر اختیاری دیگر که نام فایل و هدر های فایل هست را دریافت میکند.

کد پی‌اچ‌پی:
return response()->download($pathToFile);
 
return 
response()->download($pathToFile$name$headers);
 
return 
response()->download($pathToFile)->deleteFileAfterSend(true); 


در مثال سوم فایل بعد از دانلود حذف خواهد شد.

(با تشکر از حامد اریان)
قوانین انجمن لاراولیستا  | شماره تماس :‌09124783045 |‌ تلگرام :‌ 09377869283
پاسخ
 


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  بهترین پکیج acl برای لاراول چیست homeily@gmail.com 2 40 12-18-2016, 08:43 AM
آخرین ارسال: hamo
  آموزش اعتبار سنجی در لاراول 5 alihossein 4 832 11-20-2016, 07:12 AM
آخرین ارسال: حمید رﺽا کمالی
  آموزش روتینگ routing در لاراول 5 alihossein 2 1,250 11-12-2016, 04:37 AM
آخرین ارسال: حمید رﺽا کمالی
  اجرای کوئری در لاراول amirbakhtiari 1 53 11-06-2016, 07:50 AM
آخرین ارسال: hamo
  آموزش کار با دیتابیس در لاراول 5 alihossein 6 1,768 10-27-2016, 01:01 PM
آخرین ارسال: sempaisaleh
  کند بودن بیش از حد اجرای لاراول feri 0 53 10-19-2016, 05:09 PM
آخرین ارسال: feri
  ایجاد نشدن همه فایل ها بعد از نصب لاراول armin4838 1 83 10-15-2016, 04:17 PM
آخرین ارسال: armin4838
  اشکال در اجرای لاراول محمد 1 97 10-13-2016, 08:14 AM
آخرین ارسال: hamo
  مشکل در راه اندازی لاراول hadi2016 2 88 09-21-2016, 11:00 AM
آخرین ارسال: hadi2016
  سئو در لاراول Mohammad 0 80 09-18-2016, 03:55 PM
آخرین ارسال: Mohammad

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

درباره انجمن فریم ورک لاراول

انجمن لاراولیستا به عشق توسعه دهنده ها و علاقمندان به این فریم ورک محبوب ایجاد شده و امیدواریم با نظرات خوبتون ما رو در بهبود کار یاری کنید. در ضمن خیلی هم خوشحال میشیم شما هم در توسعه این انجمن سهمی داشته باشید.