فرق selft و this در php - در php5 چه فرقی بین self و this$ وجود دارد؟
پنجشنبه, ۱۷ مهر ۱۳۹۹، ۰۶:۰۲ ب.ظ
از 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();
?>
منبع:
https://www.soalaat.com
۹۹/۰۷/۱۷