Что переменный $this означает в PHP?

Я вижу переменную $this в PHP все время и я понятия не имею, для чего он используется. Я лично никогда не использовал его.

Может кто-то говорить мне как переменная $this работы в PHP?

97
задан Machavity 18 November 2019 в 13:34
поделиться

4 ответа

Это ссылка на текущий объект, чаще всего используется в объектно-ориентированном коде.

Пример:

<?php
class Person {
    public $name;

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

$jack = new Person('Jack');
echo $jack->name;

Здесь хранится 'Jack 'строка как свойство созданного объекта.

121
ответ дан 24 November 2019 в 05:25
поделиться

Это способ ссылки на экземпляр класса изнутри себя, как и многие другие объектно-ориентированные языков.

Из документации PHP :

Псевдопеременная $ this доступна когда метод вызывается из контекст объекта. $ это ссылка вызывающему объекту (обычно объект, которому принадлежит метод, но, возможно, другой объект, если метод вызывается статически из контекст вторичного объекта).

8
ответ дан 24 November 2019 в 05:25
поделиться

Он относится к экземпляру текущего класса, как сказал meder .

См. PHP Docs . Это объясняется в первом примере.

1
ответ дан 24 November 2019 в 05:25
поделиться

при создании класса у вас есть (во многих случаях) переменные и методы экземпляра (также известные как функции). $ this обращается к этим переменным экземпляра, чтобы ваши функции могли принимать эти переменные и делать то, что им нужно, чтобы делать с ними все, что вы хотите.

другая версия примера Медера:

class Person {

    protected $name;  //can't be accessed from outside the class

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

    public function getName() {
        return $this->name;
    }
}
// this line creates an instance of the class Person setting "Jack" as $name.  
// __construct() gets executed when you declare it within the class.
$jack = new Person("Jack"); 

echo $jack->getName();

Output:

Jack
4
ответ дан 24 November 2019 в 05:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: