<?php
interface iFoo {
public function print(): iFoo;
}
class Foo implements iFoo {
public function print(): iFoo {
return $this;
}
public function chain(): iFoo {
return $this;
}
}
$foo = new Foo();
$foo->print()
->chain() // Method 'chain' not found in iFoo
->print();
我怎样才能让PhpStorm识别链式方法,即使它不在合同中?
答案 0 :(得分:1)
这是因为您告诉PHPStorm,如果您的返回类型为{,那么您将拥有一个没有类2*len(s)
的iFoo返回类型{1}}我猜这会奏效。
答案 1 :(得分:1)
chain()
方法返回Foo
实例:
print()
iFoo
不包含public function print(): iFoo {
方法,这就是为什么您看不到&#34;方法未找到&#34;。您可以将返回类型更改为iFoo
或将chain()
方法添加到Foo
。