ثابت ها در PHP

  • ثابت ها در php بر خلاف متغیرها یک شناسه (نام) برای یک مقدار ساده هستند که نمیتوان آن ها را تغیر داد یا حذف کرد.
  • ثابت های تعریف شده در php امکان فراخوانی را دارند.
  • برای تعریف یک ثابت در زبان php نیازی به استفاده از $ نمی باشد یک نام ثابت معتبر با یک حرف یا زیر خط شروع می شود.

مقدار دهی constants در PHP

در PHP برای ایجاد یک ثابت (Constants) از تابع ()Define استفاده می شود.

define(name, value, case-insensitive);

مولفه های سینتکس Define به صورت زیر می باشد:

  1. name: نام ثابت را مشخص می کند.
  2. value: مقدار ثابت را مشخص می کند.
  3. case_insensitive: مشخص میکند که نام ثابت به حروف کوچک و بزرگ حساس باشد یا نباشد.

 

نکته: مولفه case_insensitive مقدار false را دارا می باشد. یعنی نام ثابت به صورت پیش فرض حساس به حروف کوچک و بزرگ است.

define("GREETING", "Welcome to PNLdev.com!");
echo GREETING;
define("GREETING", "Welcome to PNLdev.com!", true);
echo greeting;

کلید واژه Const در PHP

در PHP با استفاده از واژه کلیدی Const هم می توان به سادگی یک Constants (ثابت) ایجاد کرد.

const MYFLOWER = "Rose";
echo MYFLOWER;

اساسی ترین تفاوت مابین کلیدواژه Const و فانکشن ()define:

  1. Const در هر حال به حروف بزرگ و کوچک حساس می باشد در حالی که define تنها در گزینه Case-sensitive به حروف بزرگ و کوچک حساس است.
  2. علاوه بر این کلیدواژه Const در حین Compile-time ساخته می شود در حالی که ()define در Run-time و همین مورد باعث می شود که Constants ایجاد شده توسط Const عملکرد سریع تری داشته باشد. از آنجایی که Const در زمان کامپایل ساخته میشود بنابراین از Const نمی توان همراه با دستورات شرطی استفاده کرد.

آرایه های ثابت در PHP

در نسخه 7 زبان PHP می توان با استفاده از تابع ()define یک آرایه ثابت ایجاد کرد.

define("flowers", [
  "Rose",
  "Tulip",
  "Cactus"
]);
echo flowers[0];

سراسری بودن ثابت ها

در PHP ثابت ها به طور خودکار سراسری هستند و می توانند در کل اسکریپت استفاده شوند.

define("GREETING", "Welcome to PNLdev.com!");

function myTest() {
  echo GREETING;
}

myTest();

خلاصه درس

  • در این آموزش با ثابت ها در زبان php آشنا شدیم.
  • همچنین آرایه های ثابت و سراسری بودن ثابت ها را نیز آموختیم.

توسعه دهندگان
اسما علیلو