Я хочу создать объект внутри метода объекта того же класса в PHP.
У меня есть такой простой код:
<?php
class Animal {
public $name = "cat";
public function test() {
$this->name = "dog";
return new self;
}
}
$animal = new Animal;
$best = $animal->test();
echo $animal->name;
echo '<br>';
echo $best->name;
?>
Код прекрасно работает сновый объект присваивается переменной $best
.Однако я продолжаю читать, что ключевое слово self
используется только в статическом контексте (для статических методов, свойств и констант).
Это то, что я делаю правильно, или я должен ссылаться на имя класса в другоминаче, чем self
в этом случае?