المعيار الجديد لـ PHP: ما ينتظر المطورين في عام 2024

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

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

ابدأ الدورة

معيار PHP الجديد: ما ينتظر المطورين في عام 2024



يواصل مجتمع PHP إسعاد المطورين: في نهاية عام 2023، صدر الإصدار النهائي من PHP 8.3، وفي عام 2024، من المتوقع إصدار PHP 8.4. تضع هذه الإصدارات معيارًا جديدًا للجودة لواحدة من أشهر لغات برمجة الويب. دعنا نفهم التغييرات الرئيسية التي تنتظر المطورين وكيفية الاستعداد للانتقال.



الابتكارات الرئيسية في PHP 8.3



حصل الإصدار 8.3 على حالة الإصدار المستقر ويتضمن عددًا من التحسينات التي تجعل الكود أنظف وأكثر أمانًا وأسرع:



  • ثوابت الفئات المقيدة بالنوع — يمكنك الآن تحديد نوع الثابت بشكل صريح: final public const string MY_CONST = 'value';. هذا يحسن قابلية القراءة ويساعد أدوات التحليل الثابتة.
  • السمة #[Override] — تشير بوضوح إلى أن الطريقة تعيد تعريف الطريقة الأصلية. إذا تغيرت الطريقة في الفئة الأم أو اختفت، فسيصدر PHP خطأ. حماية ممتازة ضد الانحدارات.
  • الاستنساخ العميق لخصائص readonly — يمكنك الآن تعديل خصائص readonly عند استنساخ الكائن، مما يبسط العمل مع DTOs غير القابلة للتغيير.
  • دالة json_validate() المحسنة — طريقة سريعة للتحقق من صحة سلسلة JSON دون تحليلها بالكامل. يوفر الذاكرة والوقت.
  • طرق جديدة للمصفوفة — array_any() و array_all() تسمح بالتحقق باختصار مما إذا كان عنصر واحد على الأقل (أو كل العناصر) يفي بالشرط.


ما الذي تحضره PHP 8.4؟



على الرغم من أن إصدار PHP 8.4 متوقع بحلول نهاية عام 2024، إلا أنه يتم بالفعل مناقشة العديد من RFCs الهامة (مقترحات تغيير اللغة):



  • Property Hooks (خطافات الخصائص) — إمكانية طال انتظارها لإضافة getters و setters مباشرة إلى خصائص الفئة، دون كتابة طرق منفصلة. هذا سيجعل الكود أكثر تصريحية ويقلل من الكود النمطي.
  • الرؤية غير المتماثلة — القدرة على تعيين مستوى وصول مختلف لقراءة وكتابة الخاصية. على سبيل المثال، قراءة عامة ولكن كتابة محمية.
  • أداء JIT المحسن — يستمر العمل على المحول البرمجي Just-In-Time. من المتوقع زيادة في سرعة تنفيذ العمليات الحسابية الثقيلة بنسبة 10-20%.
  • دعم أنواع التقاطع (Intersection Types) — سيسمح بتعريف المعاملات التي يجب أن تنفذ عدة واجهات في وقت واحد، على سبيل المثال: function foo(Countable&Stringable $obj).


كيف تستعد للتحديث؟



الانتقال إلى إصدار جديد من PHP لا يعني فقط ميزات جديدة، بل أيضًا تغييرات جذرية محتملة. نوصي بخطة العمل التالية:



  • تحقق من توافق الكود — استخدم أدوات التحليل الثابتة (PHPStan, Psalm) بأقصى مستوى من الصرامة. ستسلط الضوء على البنى القديمة.
  • قم بتحديث التبعيات — تأكد من أن جميع المكتبات والأطر المستخدمة (Laravel, Symfony, WordPress) تدعم PHP 8.3+.
  • اختبر على بيئة staging — انشر الإصدار الجديد على بيئة اختبارية، وقم بتشغيل الاختبارات الآلية وتحقق من السيناريوهات الرئيسية.
  • استخدم PHP الحديث — قم بتطبيق السمات والتصنيف والفئات readonly والإمكانيات الأخرى تدريجيًا. هذا سيسهل التحديثات المستقبلية.

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