الكورس

Advertisements

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'));


الإبلاغ عن خطأ

×

إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:

[email protected]

شكرًا لك على مساعدتك لنا!

Advertisements