تفاوت this$ با ::self در PHP چیست؟

بازدید93.1kپست ها3آخرین فعالیت2 سال پیش
0
2

سلام میخواستم تفاوت this$ با ::self در PHP رو بدونم لطفا با مثال توضیح بدید
ممنون.

0

سلام
this به آبجکت فعلی اشاره داره اما self به جایی که متد پا پراپرتی تعریف شده اشاره داره
مثال:

<?php
class Person {
    private $name;

    function __construct($name) {
        $this->name = $name;
    }

    function getName() {
        return $this->name;
    }

    function getTitle() {
        return $this->getName()." the person";
    }

    function sayHello() {
        echo "Hello, I'm ".$this->getTitle()."<br/>";
    }

    function sayGoodbye() {
        echo "Goodbye from ".self::getTitle()."<br/>";
    }
}

class Geek extends Person {

    function getTitle() {
        return $this->getName()." the geek";
    }
}

$geekObj = new Geek("ITsecurITy");
$geekObj->sayHello();
$geekObj->sayGoodbye();
?>

تفاوت در لاین 18($this->getTitle()) و 22(self::getTitle()) هست.

0

خوب چی مشه پرینتش؟

0

دوست عزیز برای فهمیدن عمقی این مبحث بنده پیشنهاد میکنم سری به این سایت بزنید و مباحث برنامه نویسی شئ گرا در PHP رو به صورت اصولی باد بگیرید:
https://www.w3schools.com/php/php_oop_what_is.asp
سایت خیلی خوبیه و مثال های عملی زیادی داره

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

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