OOP - Class Constants

🔹 Class Constant چیست؟

Class Constant (ثابت‌های کلاس) مقادیری هستند که:

  • با کلمه کلیدی const تعریف می‌شن.

  • بعد از مقداردهی، تغییر نمی‌کنن.

  • به شیء وابسته نیستن (یعنی برای همه اشیاء کلاس یکی هستن).

  • نیازی به $ ندارن (برخلاف متغیرها).

🔹 تعریف یک Class Constant

<?php class Car { const WELCOME_MESSAGE = "Welcome to OOP in PHP!"; }

🔹 دسترسی به Constant

  1. با استفاده از نام کلاس (::):

<?php class Car { const WELCOME_MESSAGE = "Welcome to OOP in PHP!"; } echo Car::WELCOME_MESSAGE; ?>

📌 خروجی:

Welcome to OOP in PHP!
  1. از داخل کلاس با self::

<?php class Car { const BRAND = "BMW"; public function showBrand() { return self::BRAND; } } $myCar = new Car(); echo $myCar->showBrand(); ?>

📌 خروجی:

BMW

🔹 نکته مهم

  • ثابت‌ها همیشه public هستند، و نمی‌تونیم private یا protected براشون تعریف کنیم.

  • از PHP 7.1 به بعد، می‌تونیم مقادیر array هم به عنوان ثابت تعریف کنیم.

🔹 مثال با ارث‌بری

<?php class Vehicle { const CATEGORY = "Transport"; } class Car extends Vehicle { const TYPE = "Four Wheeler"; } echo Car::CATEGORY; // از کلاس والد echo "<br>"; echo Car::TYPE; // از کلاس فرزند ?>

📌 خروجی:

Transport Four Wheeler

✅ خلاصه

  • ثابت‌های کلاس با const تعریف می‌شن.

  • مقدارشون تغییر نمی‌کنه.

  • دسترسی با ClassName::CONSTANT یا self::CONSTANT انجام می‌شه.

  • در ارث‌بری هم قابل استفاده هستن.