رتبه موضوع:
  • 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
پاسخ
 


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  انتقال سایت mvc به لاراول miladhassan 0 9 06-19-2017, 01:00 PM
آخرین ارسال: miladhassan
  گرفتن آپدیت های وب هوک تلگرام در لاراول Mr.AMiR 3 67 06-06-2017, 05:31 AM
آخرین ارسال: Bvk.Programmer
  آموزش فارسی لاراول ۵ alihossein 6 3,280 05-26-2017, 09:52 AM
آخرین ارسال: farhad
  بهترین پکیج acl برای لاراول چیست homeily@gmail.com 3 187 05-08-2017, 09:27 AM
آخرین ارسال: Geppeto
  لینک فایل های css و js در لاراول saeed.rahgooy@gmail.com 1 54 05-01-2017, 07:50 PM
آخرین ارسال: zootech
  ساخت authentication شخصی یا استفاده از authentication لاراول meysam_biz 0 88 03-19-2017, 05:38 PM
آخرین ارسال: meysam_biz
  درخواست راهنمایی : تعریف سطوح دسترسی کاربری در لاراول Bvk.Programmer 11 1,074 02-16-2017, 10:09 PM
آخرین ارسال: ansar
  # سوال : آموزش ساخت ربات تلگرام با پکیج irazasyed/telegram-bot-sdk Bvk.Programmer 1 463 02-16-2017, 09:55 PM
آخرین ارسال: ansar
  آموزش اعتبار سنجی در لاراول 5 alihossein 4 1,040 11-20-2016, 07:12 AM
آخرین ارسال: حمید رﺽا کمالی
  نحوه ایجاد Token-Based Authentication(oauth2) در لاراول با استفاده از passport anonymox 0 174 11-12-2016, 06:27 AM
آخرین ارسال: anonymox

پرش به انجمن:


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

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

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