Laravel HTTP Responses
يستجيب تطبيق الويب لطلب المستخدم بعدة طرق اعتمادًا على العديد من الـ parameters، يشرح لك هذا الفصل بالتفصيل الاستجابات(responses) في تطبيقات الويب لـ Laravel.
Creating Responses
يجب أن تعيد جميع المسارات(routes) ووحدات التحكم(controllers) ردًا ليتم إرسالها مرة أخرى إلى متصفح المستخدم، يوفر Laravel عدة طرق مختلفة لإرجاع الإستجابات(responses)، تتمثل الاستجابة الأساسية في إرجاع مصفوفة(Array) من مسار أو وحدة تحكم، سيحول الإطار تلقائيًا المصفوفة إلى استجابة HTTP كاملة.
مثال للتوضيح:
app/Http/routes.php
Route::get('/first_response', function () {
return 'Laravel Nice!';
});
لرؤية نتيجة المثال السابق، إكتب هذا الرابط فى متصفحك:
http://localhost:8000/first_response
Attaching Headers To Responses
يمكنك استخدام method الـ ()header لإضافة سلسلة من الـ headers إلى الاستجابة قبل إعادتها إلى المستخدم، كالتالى:
return response($content)
->header('Content-Type', $type)
->header('X-Header-One', 'Header Value')
->header('X-Header-Two', 'Header Value');
💡 أو يمكنك استخدام method الـ ()withHeaders لتحديد مصفوفة من الـ headers لإضافتها إلى الاستجابة:
return response($content)
->withHeaders([
'Content-Type' => $type,
'X-Header-One' => 'Header Value',
'X-Header-Two' => 'Header Value',
]);
مثال للتوضيح:
app/Http/routes.php
Route::get('/my_header', function() {
return response("Laravel Nice!", 200)->header('Content-Type', 'text/html');
});
لرؤية نتيجة المثال السابق، إكتب هذا الرابط فى متصفحك:
http://localhost:8000/my_header
Attaching Cookies To Responses
تتيح لك method الـ Cookie في حالات الاستجابة إرفاق ملفات تعريف الارتباط بسهولة بالاستجابة.
على سبيل المثال ، يمكنك استخدام method الـ cookie لإنشاء ملف تعريف ارتباط وإرفاقه بالاستجابة كالتالى:
return response($content)
->header('Content-Type', $type)
->cookie('name', 'value', $minutes);
View Responses
إذا كنت بحاجة إلى التحكم في حالة الاستجابة والـ headers الخاصة بها ولكنك تحتاج أيضًا إلى إرجاع method الـ view كمحتوى الاستجابة ، فيجب عليك استخدام method الـ view:
return response()
->view('Laravel Nice!', $data, 200)
->header('Content-Type', $type);
JSON Responses
سيعمل method الـ json تلقائيًا على تعيين header الـ Content-Type إلى application / json ، بالإضافة إلى تحويل المصفوفة المحددة إلى JSON باستخدام دالة json_encode الموجوده فى PHP:
return response()->json([
'name' => 'Hamed Esam',
'state' => 'CA'
]);
💡 إذا كنت ترغب في إنشاء استجابة JSONP ، يمكنك استخدام method الـ json مع method الـ withCallback:
return response()
->json(['name' => 'Hamed Esam', 'state' => 'CA'])
->withCallback($request->input('callback'));
الإبلاغ عن خطأ
×إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:
info@albashmoparmeg.com
شكرًا لك على مساعدتك لنا!