Ось приклад того, що відбувається, коли метод класу викликається неправильно. Ви побачите кілька попереджень під час виконання цього коду, але він спрацює і надрукує: "Я A: друкую B властивість". (Виконано в php5.6)
class A {
public function aMethod() {
echo "I'm A: ";
echo "printing " . $this->property;
}
}
class B {
public $property = "B property";
public function bMethod() {
A::aMethod();
}
}
$b = new B();
$b->bMethod();
Здається, що змінна $ this, використана в методі, який називається статичним методом, вказує на екземпляр класу "викликає". У наведеному вище прикладі є властивість $ this->, що використовується в класі A, яка вказує на властивість B.
РЕДАГУВАТИ:
Псевдозмінна $ this доступна, коли метод викликається з контексту об'єкта. $ це посилання на викличний об'єкт ( як правило, на об'єкт, якому належить метод, але, можливо, на інший об'єкт, якщо метод викликається статично з контексту вторинного об'єкта ).
PHP> Основи