@returns 속성의 하위 클래스를 반환하는 메서드
<p>추상 클래스 <code>Foo</code>와 추상 빌더 <code>FooBuilder</code></p>
<pre class="brush:php;toolbar:false;">추상 클래스 Foo {
}
추상 클래스 FooBuilder {
보호된 푸 $model;
/*** 반환 클래스 인스턴스
*
* @return 모델 //올바른 반환 유형은 무엇입니까? ?*/
공개 함수 get()
{
$this->모델을 반환합니다.
}
}
</pre>
<p>하위 빌더에서 <code>get()</code> 메소드를 사용하고 싶지만 IDE에서 반환 유형이 추상 <code>Foo</code>가 아닌 하위 클래스임을 감지했습니다. . </p>
<pre class="brush:php;toolbar:false;">class Bar는 Foo {를 확장합니다.
}
추상 클래스 BarBuilder {
공개 함수 __construct()
{
$this->model = new Bar();
}
}
$barBuilder = BarBuilder();
$bar = $barBuilder->get(); //유형은 "Bar"이지만 IDE는 "Foo"라고 인식합니다.
</pre>
<p>PHPDoc에 클래스 대신 속성의 정적 유형을 반환하는 방법이 있나요? <code>@return static($this->model)</code>와 유사합니까? </p>
<p>예를 들어 <code>SomeModel::find()</code>에서 Laravel의 Eloquent를 사용하는 경우가 있습니다. IDE는 유형이 <code>SomeModel</code>일 수 있다는 것을 알고 있습니다. 하지만 <code>@return</code>에는 <code>Model</code>만 있습니다. </p>