🚀 احتراف اختصار جمل الشرط في PHP: اجعل كودك أكثر أناقة!

في الدروس السابقة، تعلمنا كيف نستخدم جملة if التقليدية لاتخاذ القرارات في الكود. لكن، هل تخيلت يوماً أنك قد تحتاج لكتابة شرط بسيط جداً (مثل: إذا كان المستخدم مسجلاً اطبع "مرحباً"، وإلا اطبع "سجل الآن")، هل من المنطقي كتابة 5 أو 6 أسطر من الكود من أجل هذه العملية البسيطة؟

هنا يأتي دور Shorthand if statements (جمل if المختصرة)، وهي طريقة ذكية تسمح لنا بكتابة الشرط في سطر واحد فقط! 🌟


🧐 ما هي جملة if المختصرة (Ternary Operator)؟

في لغة PHP، يُطلق على الاختصار الأكثر شهرة لجملة if اسم "المعامل الثلاثي" أو Ternary Operator. سُمي بهذا الاسم لأنه يتكون من ثلاثة أجزاء رئيسية:

  1. الشرط (Condition): الشيء الذي نريد اختباره.
  2. النتيجة في حال تحقق الشرط (True): ماذا يحدث إذا كان الشرط صحيحاً.
  3. النتيجة في حال عدم تحقق الشرط (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;
?>

شرح ما حدث في الكود المختصر:

  1. ($score >= 50) هذا هو الشرط.
  2. ? "Passed" إذا كان الشرط صحيحاً، سيتم تعيين القيمة "Passed" للمتغير $result.
  3. : "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.
  • تتكون من: شرط ? قيمة_الصح : قيمة_الخطأ.
  • الهدف منها هو تقليل عدد أسطر الكود وجعله أكثر نظافة في الحالات البسيطة.
  • لا تضحي بوضوح الكود من أجل الاختصار إذا كان الشرط معقداً.