>백엔드 개발 >PHP 문제 >PHP에서 클래스의 개인 메소드를 호출하는 방법

PHP에서 클래스의 개인 메소드를 호출하는 방법

王林
王林원래의
2021-09-01 15:24:373067검색

PHP에서 클래스의 비공개 메서드를 호출하는 구체적인 단계: 1. 클래스 이름을 통해 반영 2. 반영된 클래스를 통해 인스턴스화 3. 메서드 이름을 통해 지정된 메서드 가져오기 5. 메소드를 실행합니다.

PHP에서 클래스의 개인 메소드를 호출하는 방법

이 기사의 운영 환경: windows10 시스템, PHP 7.1, thinkpad t480 컴퓨터.

PHP에서 클래스의 비공개 메소드를 어떻게 호출해야 하나요? 우리는 PHP에 완전한 리플렉션 API가 있고 클래스, 인터페이스, 함수, 메서드 및 확장을 리버스 엔지니어링하는 기능이 추가되었다는 것을 알고 있습니다. 그런 다음 리플렉션을 통해 클래스에서 프라이빗 메서드를 호출하고 실행할 수 있습니다.

구체적인 코드 구현을 살펴보겠습니다.

코드 구현:

<?php
 
//MyClass这个类中包含了一个名为myFun的私有方法
class MyClass {
    
    private $tmp = &#39;hello&#39;;
    
    private function myFun()
    {
        echo $this->tmp . &#39; &#39; . &#39;world!&#39;;
    }
}
 
//通过类名MyClass进行反射
$ref_class = new ReflectionClass(&#39;MyClass&#39;);
 
//通过反射类进行实例化
$instance  = $ref_class->newInstance();
 
//通过方法名myFun获取指定方法
$method = $ref_class->getmethod(&#39;myFun&#39;);
 
//设置可访问性
$method->setAccessible(true);
 
//执行方法
$method->invoke($instance);
?>

위는 모두 구현 코드입니다. 친구들은 위 코드를 로컬에서 실행할 수 있습니다.

PHP 강좌에 관심이 많거나 프로그래밍 기술을 향상시키고 싶다면 PHP 중국어 웹사이트 제17회 php training 수업에 참여하세요.

위 내용은 PHP에서 클래스의 개인 메소드를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기