تم إصدار PHP 8.4: نظرة عامة على أبرز الميزات والتحسينات الجديدة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

تم إصدار PHP 8.4: ما الذي تغير ولماذا هو مهم للمطورين



استقبل مجتمع PHP الإصدار المنتظر طويلاً — PHP 8.4. لا يجلب الإصدار الجديد تحسينات أداء محدودة فحسب، بل يجلب أيضًا تغييرات جوهرية في بناء الجملة تغير نهج كتابة الكود. دعنا نستعرض أبرز الميزات الجديدة التي يجب أن يعرفها كل مطور.



Property Hooks — ثورة طال انتظارها في التعامل مع الخصائص

أحد أهم التغييرات هو ظهور property hooks (خطافات الخصائص). يمكنك الآن تعريف getters و setters مباشرة في إعلان الخاصية، دون إنشاء طرق منفصلة. وهذا يجعل الكود أنظف ويقلل من الكود النمطي.

  • Getters و Setters مضمنة: يمكنك الآن كتابة public string $name { get => $this->name; set => $this->name = $value; }
  • التهيئة البطيئة: يمكن حساب الخاصية فقط عند الوصول إليها لأول مرة، مما يوفر الموارد.
  • تبسيط DTO و Value Objects: تصبح كائنات نقل البيانات أكثر إحكامًا وقابلية للقراءة.


الكتابة غير المتماثلة (Asymmetric Visibility)

يقدم PHP 8.4 إمكانية تعيين رؤية مختلفة لقراءة وكتابة الخاصية. على سبيل المثال، يمكنك جعل الخاصية عامة للقراءة، ولكن محمية للكتابة. وهذا يحل مشكلة التغليف القديمة دون إنشاء طرق زائدة.

  • مثال: public private(set) string $title — يمكن للجميع قراءة الخاصية، ولكن يمكن تعديلها فقط داخل الفئة.
  • أكثر أمانًا: يسمح بالتحكم بشكل أكثر صرامة في قابلية تغيير البيانات.


تحسينات مترجم JIT

قام فريق التطوير بتحسين مترجم JIT (Just-In-Time compiler) بشكل كبير. في PHP 8.4 أصبح أكثر قابلية للتنبؤ وفعالية، خاصة للعمليات الطويلة وأحمال API.

  • تقليل التكاليف الإضافية للترجمة.
  • دعم محسّن لبنية ARM (Apple Silicon، Raspberry Pi).
  • زيادة في الأداء تصل إلى 10-15% في الاختبارات الاصطناعية.


بناء جملة جديد وإهمال بعض الميزات

لم يخلُ الإصدار من السكر النحوي وإزالة الوظائف القديمة.

  • تحسين array_find: يمكنك الآن كتابة array_find($users, fn($u) => $u->active) — للعثور على أول عنصر مطابق.
  • إزالة الوظائف القديمة: تمت إزالة mysqli بدون استعلامات محضّرة وعدد من الثوابت نادرة الاستخدام من النواة.
  • أنواع جديدة: تمت إضافة true و false كأنواع مستقلة للكتابة الصارمة.


ماذا يعني هذا للمطورين؟

PHP 8.4 هو خطوة نحو كود أكثر حداثة وأمانًا. تعمل Property hooks والرؤية غير المتماثلة على تقليل كمية الكود النمطي، بينما يجعل JIT المحسّن PHP أسرع دون تغيير الكود. نوصي ببدء اختبار توافق مشاريعك مع الإصدار الجديد الآن، خاصة إذا كنت تستخدم أطر عمل مثل Laravel أو Symfony — فقد أصدرت بالفعل تحديثات لدعم PHP 8.4.



تابع الأخبار على PythonLib — سنواصل تحليل التفاصيل التقنية للإصدار الجديد وكتابة أدلة حول الترحيل.

المكتبات الموصى بها