현재 위치: > 최신 기사 목록> get_class를 통해 객체의 부모 클래스 이름을 얻는 방법? 자세한 단계 및 예제 분석

get_class를 통해 객체의 부모 클래스 이름을 얻는 방법? 자세한 단계 및 예제 분석

gitbox 2025-10-01
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 머리말(기사의 주제와 관련이 없습니다.)</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"이것은 예제 서문입니다,예시적인 텍스트 또는 프로그램 출력이 될 수 있습니다。&lt;br&gt;"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"다음은 수평선으로 텍스트 내용과 분리됩니다.。&lt;hr&gt;"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 텍스트를 시작하십시오</span></span><span>
<span class="hljs-comment">/*
제목: 통과하는 방법get_class객체의 부모 클래스 이름을 얻으십시오?자세한 단계 및 예제 분석

존재하다PHP개발 중,우리는 종종 객체가 속한 클래스 또는 부모 수업 정보를 판단해야합니다.,유형 판단、동적으로 호출 방법 또는 디버그。이 기사는 그것을 자세히 사용하는 방법을 소개합니다.PHP~의get_class函数和相关方法객체의 부모 클래스 이름을 얻으십시오,인스턴스 분석을 통해 이해하는 데 도움이됩니다。
*/</span>

</span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">Animal</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">makeSound</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
        </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"Some generic sound"</span></span><span>;
    }
}

</span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">Dog</span></span><span> </span><span><span class="hljs-keyword">extends</span></span><span> </span><span><span class="hljs-title">Animal</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">makeSound</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
        </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"Bark"</span></span><span>;
    }
}

</span><span><span class="hljs-comment">// aDog물체</span></span><span>
</span><span><span class="hljs-variable">$dog</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">Dog</span></span><span>();

</span><span><span class="hljs-comment">// 첫 번째 단계:获取물체~의类名</span></span><span>
</span><span><span class="hljs-variable">$className</span></span><span> = </span><span><span class="hljs-title function_ invoke__">get_class</span></span><span>(</span><span><span class="hljs-variable">$dog</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"물체所属类名: "</span></span><span> . </span><span><span class="hljs-variable">$className</span></span><span> . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>; </span><span><span class="hljs-comment">// 산출 Dog</span></span><span>

</span><span><span class="hljs-comment">// 2 단계:객체의 부모 클래스 이름을 얻으십시오</span></span><span>
</span><span><span class="hljs-variable">$parentClassName</span></span><span> = </span><span><span class="hljs-title function_ invoke__">get_parent_class</span></span><span>(</span><span><span class="hljs-variable">$dog</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"물체父类名: "</span></span><span> . </span><span><span class="hljs-variable">$parentClassName</span></span><span> . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>; </span><span><span class="hljs-comment">// 산출 Animal</span></span><span>

</span><span><span class="hljs-comment">// 3 단계:조건에 따라 부모 정보를 사용합니다</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$parentClassName</span></span><span> === </span><span><span class="hljs-string">'Animal'</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"该물체是Animal类~의子类,호출 할 수 있습니다Animal中定义~의方法。&lt;br&gt;"</span></span><span>;
}

</span><span><span class="hljs-comment">// 4 단계:추가 응용 프로그램——부모 클래스 이름을 반영하여 메소드 목록 가져 오기</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$parentClassName</span></span><span>) {
    </span><span><span class="hljs-variable">$methods</span></span><span> = </span><span><span class="hljs-title function_ invoke__">get_class_methods</span></span><span>(</span><span><span class="hljs-variable">$parentClassName</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"부모 수업 방법 목록: &lt;br&gt;"</span></span><span>;
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"&lt;ul&gt;"</span></span><span>;
    </span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$methods</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$method</span></span><span>) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"&lt;li&gt;"</span></span><span> . </span><span><span class="hljs-variable">$method</span></span><span> . </span><span><span class="hljs-string">"&lt;/li&gt;"</span></span><span>;
    }
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"&lt;/ul&gt;"</span></span><span>;
}

<span class="hljs-comment">/*
분석 및 요약:

1. get_class() 函数用于获取물체所属~의当前类名。
2. get_parent_class() 函数用于获取물체~의直接父类名,부모 수업이없는 경우 반환하십시오 false。
3. 부모 클래스 이름으로,우리는 그것을 더 사용할 수 있습니다 PHP ~의反射函数(좋다 get_class_methods)获取父类~의方法信息。
4. 이 방법은 디버깅에 적합합니다、动态调用方法以及构建面向물체~의工具类또는框架。

주목해야 할 것:

- get_parent_class() 직접 부모 클래스 만 반환합니다,不会返回祖父类또는更高级别~의父类。
- 좋다果需要判断물체是否继承自某个特定类,또한 사용할 수 있습니다 `is_a($object, 'ClassName')` 또는 `instanceof` 연산자。
*/</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>