در php چه زمانی از self به جای this$ استفاده کنیم؟

در php چه زمانی از self به جای this$ استفاده کنیم؟

0 ۰
۰
در php5 چه فرقی بین self و this$ وجود دارد؟
چه زمانی باید از هر کدام استفاده کرد؟

1
0 ۰
از this$ برای ارجاع به object فعلی و از self برای ارجاع به class فعلی استفاده می شود. به عبارت دیگر، از
$this->member

 برای اعضای non-static (اعضای متصل به اشیاء ساخته شده از کلاس) و از

self::$member

 برای اعضای static (اعضای متصل به خود کلاس) استفاده می شود.
در مثال زیر کاربرد درست this$ و self برای اعضای non-static و static نشان داده شده است.

<?php
class X {
    private $non_static_member = 1;
    private static $static_member = 2;

    function __construct() {
        echo $this->non_static_member . ' '
           . self::$static_member;
    }
}

new X();
?>

 در مثال زیر نیز کاربرد نادرست this$ و self برای اعضای non-static و static نشان داده شده است.

<?php
class X {
    private $non_static_member = 1;
    private static $static_member = 2;

    function __construct() {
        echo self::$non_static_member . ' '
           . $this->static_member;
    }
}

new X();
?>

 

امکان پاسخ دهی به این سوال مسدود شده است


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