<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>
Your Answer
1 답변
예제에서는 Foo를 반환 유형으로 사용해야 하지만 재미를 위해 아래와 같이 하위 인스턴스를 결정하기 위해 정적 반환 유형을 사용할 수 있습니다.
으아악
Hot Questions
function_exists()는 사용자 정의 함수를 결정할 수 없습니다.
2024-04-29 11:01:01
Chrome 모바일 버전을 표시하는 방법
2024-04-23 00:22:19
자식 창이 부모 창을 작동하지만 출력이 응답하지 않습니다.
2024-04-19 15:37:47
상위 창에 출력이 없습니다.
2024-04-18 23:52:34
CSS 마인드맵 코스웨어는 어디에 있나요?
2024-04-16 10:10:18
Hot Tools
vc9-vc14(32+64비트) 런타임 라이브러리 모음(아래 링크)
phpStudy 설치에 필요한 런타임 라이브러리 모음을 다운로드하세요.
VC9 32비트
VC9 32비트 phpstudy 통합 설치 환경 런타임 라이브러리
PHP 프로그래머 도구 상자 정식 버전
Programmer Toolbox v1.0 PHP 통합 환경
VC11 32비트
VC11 32비트 phpstudy 통합 설치 환경 런타임 라이브러리
SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.
뜨거운 주제
Douyin 수준 가격표 1-75
20337
7
20337
7
Wi-Fi에 할당된 IP가 없다고 표시됨
13531
4
13531
4
인증번호를 받을 수 있는 가상 휴대폰 번호
11852
4
11852
4
Gmail 이메일의 로그인 입구는 어디에 있나요?
8836
17
8836
17
Windows 보안 센터를 끄는 방법
8420
7
8420
7
인기 기사
2025년 암호화폐 시장의 상위 10대 트렌드 예측: 다음 트렌드는 어디일까요?
2025-11-07
By DDD
통화권에서 토착견 프로젝트를 식별하는 방법은 무엇입니까? 제로코인의 함정과 위험 경고를 피하세요
2025-11-07
By DDD
CSS @media 쿼리 우선순위 및 규칙 적용 범위 문제 해결에 대한 튜토리얼
2025-11-07
By DDD
설치 후 소프트웨어에서 win10 글꼴을 찾을 수 없는 경우 해결 방법_win10 글꼴 설치 및 식별 방법
2025-11-07
By DDD
철도12306 결제실패 주문이 아직도 있나요?_철도12306 결제실패 주문처리 방법
2025-11-07
By DDD





