ثابت ها در PHP شناسهها یا نامهایی هستند که میتوانند هر مقدار ثابت را دریافت کنند و در طول اجرای برنامه تغییر نمیکنند. آنها در تمام برنامه ثابت باقی میمانند و نمیتوانند در طول اجرا تغییر کنند. پس از تعریف یک ثابت، نمیتوان آن را غیرتعریف یا دوباره تعریف کرد. بر اساس قرارداد، شناسههای ثابت همیشه با حروف بزرگ نوشته میشوند. به طور پیشفرض، ثابتها حساس به حروف بزرگ و کوچک هستند. نام ثابت نباید با عدد شروع شود. نام آن باید با یک حرف یا زیرخط شروع شود و سپس میتواند شامل حروف، اعداد یا زیرخط باشد. ثابتها نباید شامل هیچ کاراکتر خاصی به جز زیرخط باشند، همانطور که ذکر شد.
مقدمه
ثابت ها در PHP مقادیر ثابت و غیرقابل تغییر هستند که در طول اجرای برنامه نمیتوان آنها را تغییر داد. برخلاف متغیرها که میتوانند در هر لحظه تغییر کنند، ثابت ها در PHP تنها یکبار در طول برنامهنویسی تعریف میشوند و پس از آن، استفاده از آنها در سراسر کد تنها به همان مقدار اولیه محدود میشود. این ویژگی ثابتها باعث میشود که برای نگهداری دادههایی که نیاز به تغییر در طول زمان ندارند، مانند تنظیمات پیکربندی یا مقادیر ثابت در کد، استفاده شوند.
برای تعریف ثابت ها در PHP میتوان از تابع ()define یا کلمهکلیدی const استفاده کرد. ثابتها معمولاً برای مقادیر خاصی مانند URLها، کلیدهای امنیتی یا مسیرهای ثابت در برنامه کاربرد دارند. استفاده از ثابتها در کدنویسی به ساختار بهتر و پایداری بیشتر کد کمک میکند، زیرا از تغییرات تصادفی جلوگیری میشود و برنامهنویسان میتوانند از آنها در هر بخش از کد به راحتی بهرهبرداری کنند.
ایجاد ثابت با تابع ()define در PHP
تابع ()define در PHP برای ایجاد یک ثابت بهکار میرود، همانطور که در زیر نشان داده شده است:
سینتکس یا نحو:
define( 'CONSTANT_NAME', value, case_insensitive )
پارامترها به شرح زیر هستند:
- name: نام ثابت.
- value: مقداری که باید در ثابت ذخیره شود.
- case_insensitive: مشخص میکند که آیا ثابت حساس به حروف بزرگ و کوچک باشد یا خیر. به طور پیشفرض این مقدار False است، یعنی حساس به حروف بزرگ و کوچک.
مثال: ایجاد ثابتها با تابع ()define.
<?php // This creates a case-sensitive constant define("WELCOME", "\ProgramStore"); echo WELCOME . "\n"; // This creates a case-insensitive constant define("HELLO", "ProgramStore", true); echo hello; ?>
خروجی:
ProgramStore ProgramStore
ایجاد ثابت با کلمه کلیدی const در PHP
کلمه کلیدی const روش دیگری برای تعریف ثابت ها در PHP است، اما معمولاً داخل کلاسها و توابع استفاده میشود. تفاوت اصلی آن با ()define این است که ثابتهایی که با استفاده از const تعریف میشوند، نمیتوانند حساس به حروف بزرگ و کوچک نباشند.
سینتکس یا نحو:
const CONSTANT_NAME = value;
مثال:
<?php const SITE_NAME = 'ProgramStore'; echo SITE_NAME; ?>
خروجی:
ProgramStoreProgramStoreProgramStore
ثابت سراسری
به طور پیشفرض، ثابتها سراسری هستند و میتوانند در سراسر اسکریپت استفاده شوند، به طوری که هم داخل و هم خارج از هر تابع قابل دسترسی هستند.
مثال: ثابتها سراسری هستند و هم داخل و هم خارج از بلوک قابل دسترسی هستند.
<?php define("WELCOME", "ProgramStore"); function testGlobal() { echo WELCOME; } echo WELCOME . "\n"; testGlobal(); ?>
خروجی:
ProgramStore ProgramStore
تفاوت بین ثابت و متغیر
اگرچه هم ثابتها و هم متغیرها برای ذخیره مقادیر استفاده میشوند، اما در چندین جنبه با هم تفاوت دارند:
متغیرها | ثابت ها | ویژگی |
با علامت دلار ($) شروع می شود | بدون علامت دلار ($) | سینتکس یا نحو |
قابل تغییر است | تغییر ناپذیر | ارزش |
حساس به حروغ بزرگ و کوچک | حساس به حروف کوچک و بزرگ (پیش فرض) | حساس به حروف کوچک |
دامنه می تواند متفاوت باشد (محلی یا جهانی) | همیشه سراسری | دامنه سراسری |
استفاده از نماد ($) | const یا ()define | روش های اعلامیه |
نتیجه گیری
ثابت ها در PHP ابزاری مفید برای ذخیرهسازی مقادیری هستند که پس از تعریف، دیگر نمیتوان آنها را تغییر داد. ثابتها معمولاً برای نگهداری مقادیر ثابت مانند تنظیمات پیکربندی، کلیدهای API یا دیگر اطلاعاتی که نیاز به تغییر در طول برنامه ندارند، استفاده میشوند.
ثابت ها در PHP با استفاده از تابع ()define یا کلمهکلیدی const تعریف میشوند و پس از تعریف، هیچگونه تغییر یا بازتعریف آنها ممکن نیست. ثابتها میتوانند در هر جایی از برنامه استفاده شوند، به جز در داخل متدهای شیگرا، و از آنجا که مقادیر آنها تغییر نمیکند، باعث ثبات و پیشبینیپذیری در کد میشوند. استفاده از ثابت ها در PHP میتواند به بهبود ساختار کد، جلوگیری از خطاهای تصادفی ناشی از تغییر مقادیر و افزایش قابلیت نگهداری برنامه کمک کند.