تم إصدار PHP الجديد: ما الذي تغير
مجتمع المطورين في حالة ترقب مرة أخرى: أصدر فريق PHP تحديثًا هامًا آخر للغة. الإصدار الجديد، الذي يحمل الرقم PHP 8.4، لا يجلب فقط التحسينات التركيبية التي طال انتظارها، بل أيضًا عملاً جادًا على إصلاح الأخطاء والأداء والأمان. دعنا نستعرض أهم التغييرات التي يجب أن يعرفها كل من يكتب بلغة PHP.
المستجدات الرئيسية في التركيب (Syntax)
أحد أبرز أحداث هذا الإصدار هو تطبيق property hooks (خطافات الخصائص). هذه الميزة، التي طال انتظرها المجتمع، تسمح بتعريف منطق الحصول على قيم خصائص الفئة وتعيينها مباشرة، دون كتابة getters و setters يدويًا. يصبح الكود أنظف وأكثر إحكامًا.
- Property hooks: يمكنك الآن كتابة
public string $name { get => ...; set => ...; }مباشرة في تعريف الخاصية. - الأنواع غير المتماثلة الصريحة: إمكانية تحديد أنواع مختلفة للـ getter والـ setter (على سبيل المثال، إرجاع
string|nullعلنًا، ولكن قبولstringفقط). - تحسين تركيب أنواع الاستدعاء (callable types): تمت إضافة دعم لوصف أكثر مرونة لوظائف رد الاتصال.
الأداء وترجمة JIT
واصل مطورو نواة PHP تحسين المحرك. في الإصدار الجديد، تم تطوير مترجم JIT (Just-In-Time) بشكل كبير. بالنسبة لسيناريوهات الويب النموذجية (WordPress، Laravel، Symfony)، تتراوح الزيادة في الأداء من 5% إلى 15% دون أي تغييرات في كود المشروع. أصبح هذا ممكنًا بفضل تحليل الأنواع المحسّن في مرحلة الترجمة.
- تحسين الحلقات التكرارية: أصبح JIT الآن أفضل في التعامل مع الحلقات الطويلة والعمليات الحسابية.
- تقليل استهلاك الذاكرة: في بعض سيناريوهات العمل مع المصفوفات، تم تقليل استخدام RAM بنسبة 10-12%.
- محلل سريع: تم تسريع عملية تحميل وتحليل الملفات الكبيرة التي تحتوي على فئات.
الأمان والوظائف القديمة
كل إصدار جديد من PHP هو أيضًا "تنظيف" لقاعدة الكود. يقوم المطورون بإزالة الهياكل القديمة التي قد تكون غير آمنة أو تسبب ارتباكًا للمبتدئين.
- إزالة الدوال: تمت إزالة الدوال
mysqli_fetch_allفي الأنماط القديمة وبعض إشعارات E_STRICT نهائيًا. - تشديد التحديد النوعي: الدوال المضمنة الآن تطرح خطأ TypeError إذا تم تمرير وسيطات من نوع خاطئ إليها (كانت في السابق مجرد تحذير).
- سمات جديدة: تمت إضافة السمة
#[\\Deprecated]، والتي تسمح لمطوري المكتبات بوضع علامة صريحة على الطرق القديمة، ولبيئات التطوير المتكاملة (IDE) بتسليط الضوء عليها.
ماذا يعني هذا للمطورين؟
التحديث إلى PHP 8.4 ليس مجرد "علامة" في قائمة المهام. ستسمح خطافات الخصائص الجديدة (property hooks) بكتابة كود نموذجي أقل، وسيتيح الأداء المحسّن توفيرًا في قدرات الخوادم. هذا مهم بشكل خاص للمشاريع عالية التحميل وواجهات API.
ومع ذلك، وكالعادة، قبل التحديث على خوادم الإنتاج، يُوصى باختبار توافق المكتبات الخارجية بدقة. معظم الأطر الشائعة (Laravel، Symfony) أصدرت بالفعل تصحيحات لدعم المستجدات.
تابع التحديثات على PythonLib - سنواصل نشر تفاصيل شاملة.