🚀 احتراف اختصار جمل الشرط في PHP: اجعل كودك أكثر أناقة!
في الدروس السابقة، تعلمنا كيف نستخدم جملة if التقليدية لاتخاذ القرارات في الكود. لكن، هل تخيلت يوماً أنك قد تحتاج لكتابة شرط بسيط جداً (مثل: إذا كان المستخدم مسجلاً اطبع "مرحباً"، وإلا اطبع "سجل الآن")، هل من المنطقي كتابة 5 أو 6 أسطر من الكود من أجل هذه العملية البسيطة؟
هنا يأتي دور Shorthand if statements (جمل if المختصرة)، وهي طريقة ذكية تسمح لنا بكتابة الشرط في سطر واحد فقط! 🌟
🧐 ما هي جملة if المختصرة (Ternary Operator)؟
في لغة PHP، يُطلق على الاختصار الأكثر شهرة لجملة if اسم "المعامل الثلاثي" أو Ternary Operator. سُمي بهذا الاسم لأنه يتكون من ثلاثة أجزاء رئيسية:
- الشرط (Condition): الشيء الذي نريد اختباره.
- النتيجة في حال تحقق الشرط (True): ماذا يحدث إذا كان الشرط صحيحاً.
- النتيجة في حال عدم تحقق الشرط (False): ماذا يحدث إذا كان الشرط خاطئاً.
الشكل العام للكتابة (Syntax):
condition ? value_if_true : value_if_false;
- نستخدم علامة الاستفهـام
?بدلاً من القوس الخاص بـif. - نستخدم النقطتين الرأسيتين
:بدلاً من كلمةelse.
🔄 مقارنة عملية: الطريقة التقليدية مقابل الطريقة المختصرة
لنتخيل أننا نريد التحقق مما إذا كان الطالب ناجحاً أم راسباً بناءً على درجته.
1️⃣ الطريقة التقليدية (Traditional if...else):
هذه الطريقة صحيحة تماماً، لكنها تستهلك مساحة كبيرة من الأسطر.
<?php
$score = 75;
if ($score >= 50) {
$result = "Passed"; // ناجح
} else {
$result = "Failed"; // راسب
}
echo $result;
?>
2️⃣ الطريقة المختصرة (Ternary Operator):
سنقوم بتحويل الكود السابق إلى سطر واحد فقط وبنفس النتيجة تماماً! ✨
<?php
$score = 75;
// التحقق من الدرجة في سطر واحد
$result = ($score >= 50) ? "Passed" : "Failed";
echo $result;
?>
شرح ما حدث في الكود المختصر:
($score >= 50)هذا هو الشرط.? "Passed"إذا كان الشرط صحيحاً، سيتم تعيين القيمة "Passed" للمتغير$result.: "Failed"إذا كان الشرط خاطئاً، سيتم تعيين القيمة "Failed".
💡 متى نستخدم الاختصارات؟ (نصيحة احترافية)
قد تتساءل: "لماذا لا أستخدم الاختصار في كل مكان؟". الإجابة هي البساطة والوضوح. 🔎
- ✅ استخدم الاختصار عندما: يكون لديك شرط بسيط جداً يتكون من (صح أو خطأ) وتريد تعيين قيمة لمتغير أو طباعة نص سريع.
- ❌ لا تستخدم الاختصار عندما: يكون الشرط معقداً، أو يحتوي على عمليات كثيرة، لأن ذلك سيجعل الكود صعب القراءة بالنسبة لك وللمبرمجين الآخرين.
🛠️ مثال إضافي: تحديد حالة المستخدم
لنطبق مثالاً آخر واقعياً، لنحدد ما إذا كان المستخدم "مدير" أم "عضو عادي" بناءً على رتبته.
<?php
$user_role = "admin";
// استخدام الاختصار لتحديد الرسالة الترحيبية
$message = ($user_role == "admin") ? "Welcome, Boss!" : "Welcome, Member!";
echo $message; // ستكون النتيجة: Welcome, Boss!
?>
تحليل المثال:
- هل
$user_roleيساوي"admin"؟ نعم. - إذن اختر القيمة الأولى بعد علامة الاستفهـام
"Welcome, Boss!".
✅ ملخص سريع للدرس
- جملة
ifالمختصرة تسمى Ternary Operator. - تتكون من:
شرط ? قيمة_الصح : قيمة_الخطأ. - الهدف منها هو تقليل عدد أسطر الكود وجعله أكثر نظافة في الحالات البسيطة.
- لا تضحي بوضوح الكود من أجل الاختصار إذا كان الشرط معقداً.
🎓 اختبر معلوماتك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال