انتقل إلى محتوى الدرس

Setting application/json Headers ضبط نوع الاستجابة application/json في PHP

ابنِ نقاط نهاية JSON احترافية في PHP 8 باستخدام رؤوس نوع المحتوى وقراءة المجرى php://input ودالة http_response_code.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يرسل PHP افتراضياً نوع المحتوى text/html؛ لذا يجب على كل نقطة نهاية JSON API الإعلان صراحةً عن header("Content-Type: application/json; charset=utf-8") قبل طباعة أي بيانات.

  • يُخبر ضبط رأس Content-Type المتصفحات وعملاء fetch() وأدوات الاختبار بأن جسم الاستجابة هو كائن JSON.
  • اجمع بين العلمين JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES في json_encode() لتبقى النصوص العربية والروابط مقروءة بوضوح.
  • استدعِ دالة header() دائماً قبل طباعة أي مخرجات لتجنب خطأ إرسال الرؤوس مسبقاً.

يحافظ العلم JSON_UNESCAPED_UNICODE على ظهور الأحرف العربية بوضوح بدلاً من رموز \u0645...، ويمنع JSON_UNESCAPED_SLASHES تهريب الشرطات المائلة.

مخطط توضيحي: محاكي نقاط نهاية JSON API ورموز حالة HTTP في PHP
PHP
<?php
// In HTTP SAPI: header('Content-Type: application/json; charset=utf-8');

$payload = [
    'ok'      => true,
    'message' => 'Welcome to PHP 8.4 JSON API',
    'docs'    => 'https://closetag.com/tutorials/php',
];

echo json_encode(
    $payload,
    JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES
) . "\n";