متدها و ویژگیهای استاتیک
متدها و ویژگیهای استاتیک (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
- توابع کمکی (Utility Functions)
- تعداد و شمارنده
- تنظیمات مشترک
- متدهای Factory
از static زیاد استفاده نکنید — تست کردن کد را سخت میکند و وابستگی ایجاد میکند.
این مبحث بخشی از دوره آموزش کامل PHP است.