قدم فريق تطوير لغة PHP الإصدار الرئيسي الجديد من PHP 8 بعد أن تم إصدار PHP 7.4 في ديسمبر من العام الماضي. و يتضمن هذا الإصدار الرئيسي الجديد من PHP 8 ما يلي :
- ميزات جديدة:
- مترجم JIT ؛
- نوع الاتحاد ؛
- الصفات ؛
- فئة WeakMap جديدة ؛
- تبسيط التعليمات البرمجية التي تقدمها المُنشئات الجديدة ؛
- وظائف جديدة:
- التغييرات التي سيكون لها تأثير على الكود الحالي (كسر التغييرات) ؛
- إدارة زيادة الفهارس السالبة في المصفوفات ؛
- التغييرات في معالجة الأخطاء ؛
- التغييرات على القيم الافتراضية لتوجيهات تهيئة PHP ؛
- وظائف تمت إزالتها.
يحتوي هذا الإصدار على الكثير من الميزات والتحسينات الجديدة ، بما في ذلك الوسائط المسماة وأنواع الاتحاد والسمات وترويج خاصية المُنشئ وتعبير المطابقة وعامل nullsafe و JIT (Compile on the Fly) وتحسينات في نظام الكتابة ومعالجة الأخطاء والاتساق.
تجميع في الوقت المناسب (JIT)
يقدم PHP 8 محركي تجميع JIT (في الوقت المناسب / سريع الحركة). يُظهر JIT Tracing ، الأكثر واعدة من الاثنين ، أداءً يقارب ثلاثة أضعاف الأداء على المعايير الاصطناعية و 1.5-2 ضعف الأداء في بعض التطبيقات طويلة المدى. عادةً ما يكون أداء التطبيق هو نفسه في الإصدار PHP 7.4.
تحسين نظام الكتابة ومعالجة الأخطاء
فحص النوع الأكثر صرامة للعمليات الحسابية والعمليات الحسابية ؛
- طريقة مجردة للتحقق من صحة السمات ؛
- توقيع صحيح للطرق السحرية ؛
- إعادة تصنيف تحذيرات المحرك ؛
- خطأ فادح لتوقيعات الطريقة غير المتوافقة ؛
- لم يعد العامل @ يسكت الأخطاء الفادحة ؛
- الميراث بأساليب خاصة ؛
- نوع مختلط
- نوع الإرجاع الثابت
- أنواع الوظائف الداخلية مناقشة البريد الإلكتروني ؛
- كائنات غير شفافة بدلاً من الموارد الخاصة بامتدادات Curl و Gd و Sockets و OpenSSL و XMLWriter و XML.
مشغل Nullsafe
بدلاً من إجراء عمليات تحقق شرطية خالية ، يمكنك استخدام سلسلة استدعاء مع عامل التشغيل nullsafe الجديد. عندما يفشل تقييم عنصر في السلسلة ، يكتمل تنفيذ السلسلة الكاملة ويتم تقييم السلسلة بأكملها على أنها خالية.
تعبير المطابقة match
التعليمة الجديدة match مشابهة لعمل switch للتبديل ولها الوظائف التالية:
- المطابقة هي تعبير ، بمعنى أنه يمكن تخزين نتيجتها في متغير أو إرجاعها ؛
- تدعم فروع المطابقة التعبيرات أحادية السطر فقط ، ولا تحتاج إلى تعليمة break ؛
- المطابقة تجري مقارنات صارمة.