php هناك بعض التطورات العادية لاي لغة والـ موجودة في
الاصدار الثامن وقد نتحدث عن بعض التغيرات الجذرية الـ تؤدي لتطور بدون اي ضرر علي البنية القديمة بحيث ان اي Application قبل كده مش هيتاثر ولا هيحصله اي مشكلة
- هنتكلم عن اهم التغيرات من نظري الشخصي
أولاً - 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 -
لو عايز تشوف باقي التغيرات علي PHP من هنا
اعرف اكتر عن الـ JIT - Just In Time
التعليقات: