صدر اليوم رسميًا الاصدار 8.0.0 من لغة php
وفيما يلي نقلًا عن بعض الإخوة
وكما ننصحكم دائمًا بقراءة المرجع الأساسي للبي اتش بي من الرابط التالي:
https://www.php.net/releases/8.0/en.php
وفيما يلي نقلًا عن بعض الإخوة
Mahmoud Adel Mansour كتب:
إصدار الـ PHP الجديد - ينافس الواقع !
- لو انت Web Des/Dev فـ البوست ده ليك !
-
-
في ظل متابعة كافة اصدارات الـ php كلها هتلاقي في الاخر بعض التطورات العادية لاي لغة والـ موجودة في اي مكان وحسينا خلاص ان الـ PHP مبقاش عندها جديد لاكن للاسف مدتش فرصة للغلابة من انصار الـ PHP هتقع " فرصة انهم يشمتوا فيها وها نحن في الاصدار الثامن وقد نتحدث عن بعض التغيرات الجذرية الـ تؤدي لتطور الـ PHP بدون اي ضرر علي البنية القديمة بحيث ان اي Application قبل كده مش هيتاثر ولا هيحصله اي مشكلة
- وفي البوست ده هنتكلم عن اهم التغيرات من نظري الشخصي الـ وفرت علينا جهد ووقت وتخليك تكت Native وانت مستريح لو انت من محبي الـNative زي ...
أولاً - Nullsafe operator
ودي من الحاجات الـ حبيتها جداً مش محتاج تفضل تعمل if conditions علشان تتشيك اذا كانت القيمة Null ولا لا وكفاية نستبدل الكود ده
$country = null;
if ($session !== null) {
$user = $session->user;
بالكود ده
$country = $session?->user?->getAddress()?->country;
بنتكلم عن ?-> بس علشان اتشيك علي Null - غير طبعا حجات كتير اتغيرت وحميتنا من شوية Bugs و Customize كود مننتكرش انها اديتنا ذكاء بس في نفس الوقت غلبتنا زي
0 == 'foobar' // true
لاكن حالياً اصبح الامر FALSE
ثالثاً Consistent type errors for internal functions
وهنا الموضوع أصبح أشبه بالـ Python في رسائل الخطأ الـ بترجعلك لم بتغلط في Function ما زي مثلاً strlen([]);
كان وقتها بيقولك الـ Error
// Warning: strlen() expects parameter 1 to be string, array given
بس الموضوع مكانش مقنع تماماً بس بعد الاصدار الجديد بقي
// TypeError: strlen(): Argument #1 ($str) must be of type string, array given
بس يا عم محمود انت كده بتتكلم في العادي المطلق انا مشوفتش كتير اتغير ودي حجات طبيعية , هرد واقلك دي بعض الامثلة لاكن ما خفي كان اعظم مش هيعملوا اصدار جديد علشان شوية رسائل خطا واختصارات للكود بل في تغيرات جذرية انا متكلمتش فيها علشان محتاجة فيديوهات مش بوست زي
Relative JIT contribution to PHP 8 performance
ومدي تغير اداء الـ PHP حالياً وتأثيرها علي Server والموضوع حرفياً رجع بقي مثير جداً Type system and error handling improvements
- الـ JIT - Just in Time - وهو يعتبر بيجمع اجزاء اللغة لـ رموز تفهمها وحدة المعالجة المركزية في وقت المناسب لتشغيل الـ Php application عموماً ولو عايز تعرف اكتر هسيلك Article ليها
وحرفياً شوية تعديلات بصراحة مفهومة جداً وواضحة حصلت ليه وجداً كان لازم يطلع PHP 8 - بانتظار Laravel 16 ان شاء الله
لو عايز تشوف باقي التغيرات علي PHP من هنا
https://www.php.net/releases/8.0/en.php
اعرف اكتر عن الـ JIT - Just In Time
https://stitcher.io/blog/php-jit
وكما ننصحكم دائمًا بقراءة المرجع الأساسي للبي اتش بي من الرابط التالي:
https://www.php.net/releases/8.0/en.php