شرح صفوف ومحتوى الفقرة
يرسل 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 تهريب الشرطات المائلة.
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";