→ جميع الأدوات Code Gen

محوّل JSON إلى PHP

الصق JSON واحصل فورًا على مصفوفات PHP أو كائنات stdClass أو أصناف PHP 8 مكتوبة بالأنواع.

0 حرف

ثلاثة أوضاع مخرجات PHP

يحوّل وضع المصفوفة الترابطية في PHP كائنات JSON إلى قيم مصفوفة PHP حرفية باستخدام صياغة array() القياسية أو الصياغة المختصرة []. هذه أبسط مخرجات ولا تتطلب أي تعريفات أصناف — مثالي لملفات الإعداد والبيانات الثابتة والنصوص البرمجية لمرة واحدة.

يستخدم وضع stdClass أسلوب مخرجات json_decode($json) ممثّلًا كل كائن JSON ككائن PHP مجهول مع خصائص عامة. يعكس هذا ما يُعيده json_decode() المدمج في PHP عندما تكون الوسيطة الثانية false (القيمة الافتراضية).

يولّد وضع الأصناف المكتوبة بالأنواع تعريفات أصناف PHP مع خصائص عامة مكتوبة باستخدام أنواع union والأنواع القابلة للقيمة الفارغة في PHP 8+. يصبح كل كائن JSON صنفًا مع مُنشئ يضع جميع الخصائص مكتوبة بقوة بـ int وfloat وstring وbool وarray و?T للحقول القابلة للقيمة الفارغة.

نظام أنواع PHP 8 واصطلاحات التسمية

قدّم PHP 8 ترقية خصائص المُنشئ وأنواع union. يستخدم المولّد ترقية المُنشئ افتراضيًا — الخصائص المُعلَّنة مباشرةً في توقيع المُنشئ مع الرؤية والنوع — مما يُقلّل الكود المتكرر إلى الحد الأدنى.

تُحوَّل مفاتيح JSON إلى معرّفات PHP صالحة وفق اصطلاح camelCase. المفاتيح التي تبدأ بأرقام تُبادَر بشرطة سفلية. الكلمات المحجوزة في PHP المستخدمة كأسماء خصائص تُبادَر أيضًا بشرطة سفلية ويسجّل تعليق doc المفتاح الأصلي.

للخصائص القابلة للقيمة الفارغة يُنتج المولّد ?string و?int و?float و?bool و?اسم الصنف. تُستخدم أنواع union في PHP 8.0+ عندما يحتوي حقل على أنواع مختلطة عبر عناصر مصفوفة.

سير عمل Laravel وSymfony

يحتاج مطوّرو Laravel كثيرًا إلى تعريف خصائص نموذج Eloquent من أشكال استجابات API. تمنحك مخرجات الصنف المكتوب بالأنواع صنف PHP مكتوب يعكس عقد API مفيد كـ DTO بين أصناف الخدمة.

يمكن لمطوّري Symfony الذين يستخدمون مكوّن Serializer أو API Platform إدراج الأصناف المكتوبة المولّدة مباشرةً في مشروعهم. الأصناف متوافقة مع مكوّن PropertyAccess في Symfony.

يحتاج مطوّرو PHP الذين يبنون إضافات WordPress أو وحدات Drupal أو نصوصًا مستقلة كثيرًا إلى إلغاء تسلسل استجابات JSON. مخرجات المصفوفة هي الأسرع تكاملًا بدون الحاجة إلى التحميل التلقائي.

FAQ

هل تُرسَل بياناتي إلى خادم؟

لا. تتم جميع المعالجة بالكامل داخل متصفحك. لا يغادر JSON جهازك أبدًا.

أي وضع مخرجات يجب أن أختار؟

استخدم مخرجات المصفوفة للنصوص السريعة وملفات الإعداد. استخدم stdClass إذا كان كودك يستخدم json_decode() بالفعل. استخدم الأصناف المكتوبة لقواعد كود PHP 8 قابلة للصيانة وآمنة من حيث الأنواع.

كيف تُعالَج الكلمات المحجوزة في PHP كأسماء خصائص؟

الكلمات المحجوزة في PHP مثل "class" و"match" و"fn" و"list" و"array" تُبادَر بشرطة سفلية (مثلًا $_class) وتعليق doc يحافظ على مفتاح JSON الأصلي.

هل صياغة PHP 7 مدعومة؟

نعم. يستبدل وضع التوافق مع PHP 7 أنواع union بأنواع nullable (?T) وترقية المُنشئ بتصريحات خصائص صريحة منتجًا كودًا متوافقًا مع PHP 7.4+.

هل يمكنني توليد نماذج Eloquent في Laravel؟

توفّر مخرجات الصنف المكتوب بنية الخصائص. لنماذج Eloquent الكاملة ستضيف extends Model ومصفوفة $fillable. وضع stub لـ Laravel متاح لإضافة هذه العناصر الأساسية تلقائيًا.

أدوات ذات صلة