متدها و ویژگی‌های استاتیک

متدها و ویژگی‌های استاتیک (Static) در PHP — بدون نیاز به ساخت شیء

Static چیست؟

متدها و ویژگی‌های static بدون نیاز به ساخت شیء قابل دسترسی هستند. مستقیماً با نام کلاس استفاده می‌شوند.

ویژگی استاتیک

<?php
class Counter {
    public static $count = 0;

    public static function increment() {
        self::$count++;
    }
}

// بدون ساخت شیء!
Counter::increment();
Counter::increment();
Counter::increment();

echo Counter::$count;  // 3
?>

کلمه self::

داخل کلاس، برای دسترسی به اعضای استاتیک از self:: استفاده می‌کنیم:

<?php
class MathHelper {
    public static $pi = 3.14159;

    public static function circleArea($radius) {
        return self::$pi * $radius ** 2;
    }
}

echo MathHelper::circleArea(5);  // 78.54
?>

کلمه static:: (Late Static Binding)

<?php
class Base {
    public static function create() {
        return new static();  // کلاس فرزند را می‌سازد
    }
}

class Child extends Base {}

$obj = Child::create();  // شیء Child می‌سازد، نه Base
?>

کاربردهای Static

از static زیاد استفاده نکنید — تست کردن کد را سخت می‌کند و وابستگی ایجاد می‌کند.

این مبحث بخشی از دوره آموزش کامل PHP است.

ابزارهای مرتبط