تخطَّ إلى المحتوى

?->

العامل الآمن الفارغ ?-> ?->

يوقف سلسلة الوصول لخصائص/دوال كائن فورًا ويُعيد null إن كانت القيمة على يساره null.

?-> (منذ PHP 8.0) يستبدل التحقّق اليدوي المتكرّر (isset/!==null) قبل كل وصول لخاصية أو استدعاء دالة في سلسلة كائنات. إن كانت القيمة null عند أي نقطة في السلسلة، تتوقّف السلسلة كلها فورًا وتُعيد null دون رمي خطأ.

الصياغة

$value = $object?->property;
$value = $object?->method();

📄 مثال

$user = new User();   // بلا profile
$bio = $user->profile?->bio;   // null بدل Fatal Error

أهم النقاط

العنصرالوظيفة
?->يفحص يسار العامل؛ إن كان null يُوقف السلسلة ويُعيد null

💡 نصائح عملية

  • سلسل عدّة ?-> معًا لتفادي شروط if متداخلة: $a?->b?->c

⚠️ أخطاء شائعة

  • استخدام ?-> لإسكات كل الأخطاء — هي فقط لحالة null، لا تُخفي أخطاء منطقية أخرى

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار PHP الكامل بالعربي.