عملية ?:
هي جزء من مفهوم تعبيرات الشرط المختصرة في PHP. تُستخدم هذه التعبيرات لتوفير طريقة مختصرة لكتابة التعابير الشرطية، مما يسمح بكتابة التعليمات بشكل أقصر وأكثر وضوحًا في بعض الحالات.
في هذه الحالة، ?:
يعمل بشكل مشابه لعبارة if
المختصرة، حيث يقوم بتقييم التعبير على الجانب الأيسر من ?:
، وإذا كانت القيمة تقدم false
أو null
أو 0
أو ''
، يتم تقييم التعبير على الجانب الأيمن من ?:
واستخدام قيمته كقيمة العبارة الشرطية.
بمعنى آخر، السطر الذي وجدته $this->crawler() ?: $this->response->getContent()
يعني “استدعاء الدالة crawler()
، وإذا كانت القيمة التي تُعيدها غير صحيحة أو فارغة، استخدم محتوى الرد response->getContent()
بدلاً من ذلك”.
المزيد من المعلومات
بالطبع! عملية ?:
في PHP تُستخدم بشكل شائع كبديل مختصر لعبارة if
، وهي تعتبر جزءًا من مفهوم تعبيرات الشرط المختصرة (Ternary Operators). هذه العملية تأخذ ثلاثة عناصر: التعبير الشرطي الذي يتم تقييمه، القيمة التي تُرجع إذا كان التعبير الشرطي صحيحًا، والقيمة التي تُرجع إذا كان التعبير الشرطي غير صحيح.
على سبيل المثال، يمكنك استخدام ?:
لتحديد قيمة افتراضية إذا كانت قيمة معينة فارغة. على سبيل المثال، إذا كان لدينا متغير $name
ونريد استخدام قيمة افتراضية “Guest” إذا كان $name
فارغًا، يمكننا كتابة التعبير التالي:
php$greeting = $name ?: "Guest";
هنا، إذا كانت قيمة $name
غير فارغة (أي ليست null
أو فارغة أو 0
أو false
)، سيتم استخدام قيمة $name
كقيمة للمتغير $greeting
، وإذا كانت فارغة، ستستخدم القيمة “Guest” بدلاً من ذلك.
يمكنك أيضًا استخدام ?:
في جمل echo
لإظهار قيمة افتراضية إذا كانت القيمة فارغة، مثل هذا:
phpecho $name ?: "Guest";
إذا كانت قيمة $name
غير فارغة، سيتم عرض قيمة $name
، وإذا كانت فارغة، سيتم عرض “Guest” بدلاً من ذلك.