PHP
Разница между `self` и `this` в PHP
`self` | `this` |
Ключевому слову `self` не должен предшествовать какой-либо символ; Достаточно использовать как есть. | Но ключевому слову `this` должен предшествовать знак $ при обращении к членам класса. |
PHP оператор разрешения области видимости будет использоваться с ключевым словом self. Например, self::<class-item> |
Символ -> используется с псевдопеременной $this. Например, $this-><class-item> И тем не менее, Оператор разрешения области видимости можно использовать вместе с $this. |
Будет использоваться для ссылки на статический член класса | Используется для доступа к нестатическому члену с оператором -> |
Сам PHP ссылается на членов класса. Но не на какой-то конкретный экземпляр. Правильнее сказать: все экземпляры класса будут использовать один и тот же статический член с помощью self. | $this будет ссылаться на члены класса для конкретного экземпляра класса. |
Sources:
- PHP self Vs this - https://phppot.com/php/php-self-vs-this/
Афоризм дня:
Люди так простодушны и так поглощены ближайшими нуждами, что обманывающий всегда найдет того, кто даст себя одурачить. (563)
2 years ago
$this - это не переменная, а псевдопеременная. Оператор разрешения области видимости можно использовать вместе с $this.