ساخت کلاس های static در PHP

ساخت کلاس های static در PHP

کلاس یک نوع داده تعریف شده توسط کاربر است که اعضای داده ها و توابع عضو خود را در اختیار دارد که با ایجاد یک یا چند نمونه از آن کلاس قابل دستیابی و استفاده هستند. هر بار که از یک کلاس شی نمونه سازی می شود مقادیری که در آن نگهداری می شود برای نمونه یا شی خاص با توجه به سطح دسترسی فراهم میشود .

ساخت کلاس های static در PHP – کلاسهای استاتیک خاصیتی را به وجود می آورند که یک کلاس دارای مقادیری است که یکسان هستند و منحصر به فرد نیستند. خاصیت دیگر کلاسهای استاتیک این است که می توانیم موارد فوق را بدون نیاز به ایجاد نمونه ای از کلاس انجام دهیم.

چگونه یک کلاس استاتیک ایجاد کنیم؟

نسبتاً ساده است. متغیرها و متود هایی که در یک کلاس تعریف می شوند باید با پیشوند کلمه کلیدی static همراه باشند ، به طوری که آنها می توانند بدون ایجاد نمونه از یک کلاس استفاده شوند .

نکته مهمی که باید در اینجا به آن توجه کنیم این است که اعضای static می توانند به دیگر اعضای static دسترسی داشته باشند اما نمی توانند به دیگر اعضای غیر static دسترسی پیدا کنند .


برای دسترسی به کلاس و متد های static آن از synatx زیر استفاده می کنیم :

ClassName::MethodName();

مثال 1: کد زیر تاریخ فعلی را بدون آنکه کلاس Date را نمونه سازی کند ، برمی گرداند.

<?php 

class Date { 

    public static $date_format1 = 'F jS, Y'; 
    public static $date_format2 = 'Y/m/d H:i:s'; 
    public static function format_date($unix_timestamp) { 
        echo date(self::$date_format1, $unix_timestamp), "\n"; 
        echo date(self::$date_format2, $unix_timestamp); 
    } 
} 

echo Date::format_date(time()); 
?> 

April 30th, 2020
2020/04/30 10:48:36


مثال 2: کد زیر بررسی می کند که آیا این رشته معتبر است یا خیر. اگر طول آن برابر با 13 باشد معتبر است.

<?php 

class geeks { 

    public static $x = 13; 

    public static function isValid($s) { 
        if(strlen($s) == self::$x ) 
            return true; 
        else
            return false; 
    } 
} 

$s1 = "geeksforgeeks"; 
if(geeks::isValid($s1)) 
    echo "String is valid! \n"; 
else
    echo "String is NOT valid! \n"; 

$s2 = "geekforgeek"; 

if(geeks::isValid($s2)) 
    echo "String is valid!\n "; 
else
    echo "String is NOT valid! \n"; 
?> 

خروجی:

String is valid!
String is NOT valid!

ارسال نظر