العودة إلى الدورة

الثوابت داخل الفئات

PHP: الدورة التدريبية المكثفة الكاملة من الصفر إلى الاحتراف

38. الثوابت داخل الفئات

ثوابت الفئة هي قيم ثابتة مرتبطة بفئة، يتم تعريفها باستخدام الكلمة المفتاحية const. مثل الخصائص الساكنة، تنتمي إلى الفئة نفسها، وليس الكائن، ولا يمكن تغيير قيمها أثناء التنفيذ.

تعريف ثوابت الفئة

الثوابت عامة وساكنة تلقائيًا، ولا تستخدم البادئة $.

php

<?php class PaymentProcessor { const STATUS_PENDING = 'PENDING'; const STATUS_COMPLETE = 'COMPLETE'; const MAX_AMOUNT = 10000; public function checkMaxAmount($amount) { if ($amount > self::MAX_AMOUNT) { return false; } return true; } } ?>

الوصول إلى ثوابت الفئة

يتم الوصول إلى ثوابت الفئة باستخدام عامل وضوح النطاق (::):

  1. من داخل الفئة: استخدم self::CONSTANT_NAME.
  2. من خارج الفئة: استخدم ClassName::CONSTANT_NAME.

php

<?php // الوصول من الخارج echo "Maximum transaction allowed: " . PaymentProcessor::MAX_AMOUNT; // الإخراج: 10000 // استخدام الثابت ضمن المنطق $processor = new PaymentProcessor(); $transaction_status = PaymentProcessor::STATUS_PENDING; if ($transaction_status == PaymentProcessor::STATUS_PENDING) { echo "<br>جاري معالجة المعاملة..."; } ?>

فائدة: استخدام الثوابت بدلاً من النصوص السحرية (النصوص الخام مثل 'PENDING') يجعل الكود أكثر أمانًا وأسهل في إعادة البناء وأكثر قابلية للقراءة.