ایستا (static)
اینجا «static» را یاد می گیریم. «ایستا (Static)» یعنی چیزی که بدون ساخت شیء هم در دسترس است. بنابراین، برای کلاس، مستقیم استفاده می شود. همچنین، در تابع هم می آید و مقدارش بین صداها حفظ می شود.
static چیست؟
کلمه static می گوید «ویژگی (Property)» یا «متد (Method)» کلاس، ایستا است. یعنی بدون new هم قابل استفاده است. همچنین، «متغیر ایستا (Static Variable)» داخل تابع، مقدارش بعد از پایان تابع هم می ماند.
مثال 1: ویژگی و متد ایستا
در این مثال، یک رشته ایستا و یک متد ایستا داریم. بدون ساخت شیء، از آن ها استفاده می کنیم.
<?php
class MyClass {
public static $str = "Hello World!";
public static function hello() {
echo MyClass::$str;
}
}
echo MyClass::$str;
echo "<br>";
echo MyClass::hello();
?>
مثال 2: متغیر static داخل تابع
اینجا، number هر بار با فراخوانی تابع حفظ می شود. بنابراین، مقدارش افزایشی است.
<?php
function add1() {
static $number = 0;
$number++;
return $number;
}
echo add1();
echo "<br>";
echo add1();
echo "<br>";
echo add1();
?>
گام های عملی
- یک ویژگی یا متد ایستا تعریف کن.
- بدون ساخت شیء، از کلاس صدا بزن.
- در تابع، یک متغیر static تعریف و نتیجه را تست کن.
نکته: برای ارجاع داخل کلاس، از ClassName:: استفاده کن. همچنین، برای کدهای مشترک و سراسری، static انتخاب بهتری است.
لینک های مرتبط
ادامه مبحث: متدهای ایستا و ویژگی های ایستا.
جمع بندی سریع
- static یعنی استفاده بدون ساخت شیء.
- متغیر static در تابع، مقدار را حفظ می کند.
- برای داده مشترک کلاس عالی است.
- با ClassName:: عضو ایستا را صدا بزن.