인터페이스 인스턴스를 배열로 반환하는 PHP 메서드
P粉488464731
2023-09-01 13:40:43
<p>인터넷에서 답을 찾을 수 없는 작은 질문이 있는데 PHP와 인터페이스가 어떻게 작동하는지 잘 모르겠습니다. </p>
<p>문제는 if(!variable 인스턴스 오브 클래스)가 있다는 것입니다. 하지만 여기에서 확인되는 클래스는 인터페이스이며 배열에 있어야 합니다. 다음 코드에서 볼 수 있습니다</p>
<pre class="brush:php;toolbar:false;">추상 클래스 액션
{
최종 공개 함수 호출(Bone $bone)
{
$sites = $this->getSites($bone);
foreach($sites를 $site로) {
if (!$site 인스턴스of 사이트) {
throw new Exception("잘못된 항목");
}
}
}
}
클래스 BonesSites
{
공용 함수 getSites(string $site): 배열
{
if ($site === '이집트') {
반품 [
[
'사이트 ID' =>
'이름' => '카이로',
'뼈' => '티렉스 뼈',
],
[
'사이트 ID' =>
'이름' => '기자',
'뼈' => '랩터 뼈',
],
[
'사이트ID' =>
'이름' => '알렉산드리아',
'뼈' => '기관지사우루스 뼈',
],
];
}
return ['error' => '사이트를 찾을 수 없습니다!'];
}
}
인터페이스 뼈
{
공개 함수 getName(): 문자열;
}
인터페이스 사이트
{
}</pre>
<p>인터페이스를 배열로 반환하는 방법이 있나요? </p>
Site라는 추가 클래스를 만들고 개체 배열을 반환해야 합니다.
으아악그런 다음 사이트 배열을 반환합니다.
으아악