ثابتها (Constants)
ثابتها در PHP — مقادیری که قابل تغییر نیستند. آشنایی با define، const و ثابتهای جادویی
ثابت چیست؟
ثابت (Constant) مثل متغیر است، اما یک تفاوت بزرگ دارد: مقدار آن قابل تغییر نیست. وقتی یک ثابت تعریف میکنید، دیگر نمیتوانید آن را تغییر دهید.
ثابتها برای مقادیری استفاده میشوند که هرگز نباید تغییر کنند — مثل تنظیمات، مسیرها، نسخه برنامه و...
تعریف ثابت با define()
<?php
define("SITE_NAME", "لرنینگ سیتی");
define("MAX_USERS", 1000);
define("PI", 3.14159);
echo SITE_NAME; // لرنینگ سیتی
echo MAX_USERS; // 1000
?>
ثابتها با علامت
$ شروع نمیشوند! فقط نام خالی.تعریف ثابت با const
<?php
const SITE_NAME = "لرنینگ سیتی";
const VERSION = "1.0.0";
echo SITE_NAME; // لرنینگ سیتی
echo VERSION; // 1.0.0
?>
تفاوت define و const
| ویژگی | define() | const |
|---|---|---|
| زمان تعریف | هر زمان (حالت اجرا) | فقط زمان کامپایل |
| داخل تابع | ✅ | ✅ |
| داخل شرط | ✅ | ❌ |
| نام پویا | ✅ | ❌ |
از
const برای ثابتهای ساده و از define() برای موارد پویا استفاده کنید.ثابتهای جادویی (Magic Constants)
PHP ثابتهای خاصی دارد که با __ شروع و تمام میشوند:
| ثابت | توضیح |
|---|---|
__LINE__ | شماره خط فعلی |
__FILE__ | مسیر کامل فایل فعلی |
__DIR__ | مسیر پوشه فایل فعلی |
__FUNCTION__ | نام تابع فعلی |
__CLASS__ | نام کلاس فعلی |
__METHOD__ | نام متد فعلی |
بررسی وجود ثابت — defined()
<?php
define("API_KEY", "abc123");
if (defined("API_KEY")) {
echo "ثابت تعریف شده است!";
}
?>
کاربردهای ثابتها
- تنظیمات برنامه (نام سایت، نسخه، مسیرها)
- مقادیر ثابت ریاضی (PI، GOLDEN_RATIO)
- سطوح دسترسی (ADMIN، USER، GUEST)
- کدهای وضعیت (STATUS_ACTIVE، STATUS_PENDING)
این مبحث بخشی از دوره آموزش کامل PHP است.