توی مطلب آموزشی قبلی با کلیات PHP و مفهوم متغیر و نوع استفاد و تعریفش آشنا شدید. توی این مطلب با یه مفهوم جدید به نام ثابت یا Constant و با تلفظ کانستِنت آشنا میشید.

قبلا گفتیم که میشه مقادیر متغیرها رو هرچندبار که خواستیم تغییر بدیم؛ مثلا:
<?php
$variable = 18;
$variable = 19;
$variable = 20;
echo $variable; // 20
?>
خروجی کد بالا عدد 20ه؛ چرا؟
چون متغیرها اسمشون روشونه و میشه هرچندبار دلمون خواست هی تغییرشون بدیم!
یه اصل خیلی مهم که باید از همین حالا بدونین درک طرز کار مفسر کدهای phpه که اصطلاحا بهش میگن کامپایلر یا Compiler. پی اچ پی یک زبان مفسریه؛ یعنی میاد کل خط کدها رو یکجا و از بالا به پایین تفسیر و اجرا میکنه و خروجی نهایی رو تحویل میده و اگه خطائی هم داشت آخر سر نشون میده؛
پس توی کد بالا، بار اول مفسر میاد مقدار متغیر $variable رو 18 قرار میده، بعد میره خط بعد میبینه همون اسم مقدارش شده 19، پس عدد جدید رو جایگزین قبلی میکنه، باز میره خط بعدترش و میبینه همون متغیر با همون اسم بازم مقدار جدیدی گرفته و ایندفعه 20 رو قرار میده توی $variable و در نهایت 20 رو هم توی خروجی نشون میده با دستور اکو.
همین حالا برید توی سایت sandbox.onlinephpfunctions.com که تو درس اول معرفیش کردم و کدهای بالا رو اجرا کنید تا قشنگ متوجه بشید.
از لحاظ عملکرد فرق خیلی خاصی با متغیرها ندارن؛ قواعد نامگذاریشون هم یکیه، ولی نحوه تعریفشون متفاوته. ثابت توی پی اچ پی اینجوری تعریف میشه:
define("SABET", "something");
یعنی اولش کلمه کلیدی دیفاین (define) میاد و بعد پرانتز باز و اسم ثابت و آخر سر هم مقدار ثابت به شکل بالا تعریف میشه.
البته توی نسخه های جدید php میشه به این شکل هم تعریفش کرد، ولی من همون شکل سابق رو ترجیح میدم. شکل جدید از لحاظ سرعت و مصرف حافظه سریعتر از مدل قبلیه و برای سایتهای خیلی بزرگ مفیده.
const SABET = "something";
<?php
define("DB_NAME", "my_db");
echo DB_NAME; // my_db
?>
مثال دوم برای اینکه ببینید مقدار ثابت تغییری نمیکنه اگه دوباره تعریف بشه:
<?php
define("DB_NAME", "my_db");
define("DB_NAME", "your_db");
echo DB_NAME; // my_db
?>
البته بسته به تنظیمات سرور، کد بالا ممکنه باعث ایجاد خطا بشه یا اینکه نادیده گرفته بشه. یعنی سرور و مفسر اجازه نده این کار رو بکنین.
رمز یادگیری اینه که تا میتونین تمرین کنین، پس برای این جلسه و از همین حالا شروع کنید برای خودتون با اسامی مختلف ثابت تعریف کنین و هی چاپ کنید و خروجیش رو ببینید!