PHP에서 get_declared_interfaces는 현재 선언 된 인터페이스 목록을 반환하는 데 매우 유용한 기능입니다. 모든 선언 된 인터페이스의 이름을 포함하는 배열을 반환합니다. 그러나 개발자는 네임 스페이스를 사용할 때 몇 가지 일반적인 문제가 발생할 수 있습니다. 이러한 문제를 이해하고이를 해결하는 방법은 효율적이고 오류가없는 PHP 코드를 작성하는 데 중요합니다.
PHP의 get_declared_interfaces 함수는 글로벌 네임 스페이스에서 인터페이스를 반환합니다. 사용자 정의 네임 스페이스에서 인터페이스를 선언하면 get_declared_interfaces를 호출 할 때 기본적으로 이러한 네임 스페이스 아래에서 인터페이스를 반환하지 않습니다.
예를 들어:
<span><span><span class="hljs-keyword">namespace</span></span><span> </span><span><span class="hljs-title class_">MyNamespace</span></span><span>;
</span><span><span class="hljs-class"><span class="hljs-keyword">interface</span></span></span><span> </span><span><span class="hljs-title">MyInterface</span></span><span> {
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">myMethod</span></span><span>(</span><span><span class="hljs-params"></span></span><span>);
}
</span></span>
get_declared_interfaces를 호출하는 경우 :
<span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-title function_ invoke__">get_declared_interfaces</span></span><span>());
</span></span>
MyNamespace \ MyInterface가 리턴 결과에 나타나지 않음을 알 수 있습니다. 이 문제를 해결하려면 네임 스페이스와의 인터페이스를 명시 적으로 호출해야합니다.
<span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-title function_ invoke__">get_declared_interfaces</span></span><span>());
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-title function_ invoke__">get_declared_interfaces</span></span><span>());
</span></span>
get_declared_interfaces ()는 기본적으로 네임 스페이스 아래의 인터페이스를 반환하지 않으므로 아래의 get_declared_interfaces 목록을 확인하십시오.