Например, у нас есть следующий абстрактный класс
<?php
class AbstractClass {
public function setParam(): AbstractClass {}
}
class ConcreteClass extends AbstractClass {
public function test():void {}
}
Когда вы попытаетесь использовать его следующим образом
<?php
(new ConcreteClass())->setParam()->test();
Тогда после setParam
мы увидим только setParam
метод, потому что setParam
возвращает AbstractClass
.Я пытался пометить setParam
внутри AbsractClass
с помощью PHP-doc @return self
, но он не работает.
Есть ли какие-либо решения этой проблемы?