我有一个抽象类,它带有自返回的设置方法及其子类:
abstract class AbstractFoo
{
private $bar;
public function setBar(string $bar): self
{
$this->bar = $bar;
return $this;
}
}
class Foo extends AbstractFoo
{
}
我创建并设置变量:
$foo = (new Foo())->setBar('bar1'); // No warning
$foo = (new Foo())->setBar('bar1')->setBar('bar2'); // Warning
此代码有效,但是PHPStorm提示警告,因为setBar()
返回AbstractFoo
,而不是Foo
。如何用此提示解决问题?