الثوابت في PHP
Constants in PHP
الثوابت في PHP
قائمة المصطلحات والتعريفات:
المقدمة:
الثوابت في PHP توفر وسيلة لتخزين القيم التي لا تتغير أثناء تنفيذ البرنامج. يمكن استخدام الثوابت لقراءة الكود وتنظيمه، تساعد على تقليل الأخطاء البرمجية من خلال تجنب إعادة تعريف القيم المتكررة.
تهدف هذه المقالة إلى تقديم شرح حول الثوابت في لغة PHP، بما في ذلك كيفية تعريفها واستخدامها بشكل صحيح. سيتم توضيح الفرق بين الثوابت والمتغيرات، بالإضافة إلى تقديم أمثلة عملية ومفاهيم جديدة ومتقدمة حول استخدام الثوابت.
أنواع الثوابت في PHP:
الثوابت المعرفة مسبقًا:
هي ثوابت معرفتها لغة PHP مسبقًا وتستخدم للحصول على معلومات عن النظام أو البيئة.
echo PHP_VERSION; // يعرض نسخة PHP المثبتة
echo PHP_OS; // يعرض اسم نظام التشغيل
الثوابت المعرفة من قبل المستخدم:
يمكن للمطورين تعريف الثوابت الخاصة بهم باستخدام دالة define() أو الكلمة المفتاحية const.
define("SITE_NAME", "My Site");
echo SITE_NAME; // Output: My Site
const PI = 3.14;
echo PI; // Output: 3.14
كيفية تعريف واستخدام الثوابت:
تعريف الثوابت:
يمكن تعريف الثوابت باستخدام دالة define() أو الكلمة المفتاحية const. الفرق الرئيسي بينهما هو أن const يجب أن يتم استخدامها في نطاق عام أو داخل class.
define("MAX_USERS", 100);
const MAX_USERS = 100;
استخدام الثوابت:
بمجرد تعريف الثابت، يمكن استخدامه في أي مكان في البرنامج عن طريق استدعاء اسمه.
echo "The maximum number of users is " . MAX_USERS;
الفروقات بين الثوابت والمتغيرات:
الثوابت لا يمكن تغيير قيمتها بعد تعريفها، بينما يمكن تغيير قيمة المتغيرات.
الثوابت لا تحتاج إلى علامة الدولار ($) عند تعريفها أو استخدامها، بينما المتغيرات تحتاج إلى ذلك.
يمكن تعريف الثوابت باستخدام define() أو const، بينما المتغيرات تُعرف باستخدام علامة الدولار ($) متبوعة باسم المتغير.
الثوابت داخل الفئات (Classes):
يمكن تعريف الثوابت داخل الفئات لاستخدامها في سياق الفئة.
class MyClass {
const CONSTANT_VAR = "This is a constant";
}
echo MyClass::CONSTANT_VAR;
هي ثوابت خاصة في PHP تبدأ وتنتهي بشرطتين سفليتين (__) وتقدم معلومات خاصة بالكود.
echo __FILE__; // يعرض المسار الكامل للملف الحالي
echo __LINE__; // يعرض رقم السطر الحالي في الملف
أمثلة عملية:
استخدام الثوابت لتحديد إعدادات الموقع:
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASS", "password");
define("DB_NAME", "my_database");
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
استخدام الثوابت في فئة:
class Config {
const SITE_NAME = "My Site";
const ADMIN_EMAIL = "muhmad@omar.com";
}
echo Config::SITE_NAME;
المراجع
ليست هناك تعليقات: