ثابتهای کلاس (PHP Class Constants)
ثابتهایِ کلاس: مقادیرِ تغییرناپذیر 💎🔒
گاهی نیاز دارید مقادیری را در کلاس ذخیره کنید که در طولِ کلِ برنامه هرگز تغییر نمیکنند (مثل نرخِ مالیات یا نسخهیِ API). اینجاست که از const استفاده میکنیم.
تفاوتِ ثابت با ویژگی:
- ثابتها با کلمه کلیدی
constتعریف میشوند. - به علامتِ
$نیاز ندارند. - به صورتِ پیشفرض
publicهستند. - نیاز به ساختِ شیء برایِ دسترسی ندارند (Static-like).
نحوه دسترسی (Scope Resolution Operator):
برای دسترسی به ثابتِ داخلِ کلاس، از نامِ کلاس و :: استفاده میکنیم.
self استفاده کنید: self::VERSION.
تغییرِ سطحِ دسترسی:
در PHP 7.1 به بعد، میتوانید ثابتها را private یا protected هم بکنید!
بخش تخصصی: معماریِ پیشرفته و مهندسیِ اشیاء 🐘💎
برنامهنویسیِ شیءگرا در PHP پس از نسخهیِ ۷ و ۸ تغییراتِ بنیادینی داشته و به ابزاری بسیار قدرتمند برایِ ساختِ سیستمهایِ پیچیده تبدیل شده است.
۱. ساختارِ حافظه و Object Handles
در PHP، متغیرهایی که حاویِ یک شیء هستند، خودِ شیء را ذخیره نمیکنند؛ بلکه یک Identifier یا دستگیره (Handle) را نگه میدارند که به جدولِ اشیاءِ درونیِ موتورِ Zend Engine اشاره میکند. به همین دلیل است که وقتی یک شیء را به تابعی پاس میدهید، تغییرات در همان شیءِ اصلی اعمال میشود (شبهارجاع).
۲. رعایتِ اصولِ SOLID
در طراحیِ کلاسها، همیشه به اصلِ Single Responsibility پایبند باشید. یک کلاس باید فقط یک دلیل برایِ تغییر داشته باشد. استفاده از Interfaces به شما اجازه میدهد وابستگیهایِ کدتان را به حداقل برسانید (Dependency Inversion).
۳. کدهایِ JIT-Friendly
موتورِ JIT در PHP 8 کدها را به زبانِ ماشین تبدیل میکند. نوشتنِ کدهایِ شیءگرا با ساختارِ مشخص و استفاده از Property Typing به JIT کمک میکند تا کدهایِ شما را بسیار بهینهتر اجرا کند.
داخلِ کلاسِ Config، یک ثابت به نام VER با مقدار 2.0 بسازید.
<?php
class Config {
const VER = 2.0;
}
?>
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.