?->
العامل الآمن الفارغ ?-> ?->
يوقف سلسلة الوصول لخصائص/دوال كائن فورًا ويُعيد 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 الكامل بالعربي.