Используйте self для создания объекта из метода того же класса - PullRequest
0 голосов
/ 28 сентября 2019

Я хочу создать объект внутри метода объекта того же класса в 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 в этом случае?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...