PHP에서 클래스의 비공개 메서드를 호출하는 구체적인 단계: 1. 클래스 이름을 통해 반영 2. 반영된 클래스를 통해 인스턴스화 3. 메서드 이름을 통해 지정된 메서드 가져오기 5. 메소드를 실행합니다.
이 기사의 운영 환경: windows10 시스템, PHP 7.1, thinkpad t480 컴퓨터.
PHP에서 클래스의 비공개 메소드를 어떻게 호출해야 하나요? 우리는 PHP에 완전한 리플렉션 API가 있고 클래스, 인터페이스, 함수, 메서드 및 확장을 리버스 엔지니어링하는 기능이 추가되었다는 것을 알고 있습니다. 그런 다음 리플렉션을 통해 클래스에서 프라이빗 메서드를 호출하고 실행할 수 있습니다.
구체적인 코드 구현을 살펴보겠습니다.
코드 구현:
<?php //MyClass这个类中包含了一个名为myFun的私有方法 class MyClass { private $tmp = 'hello'; private function myFun() { echo $this->tmp . ' ' . 'world!'; } } //通过类名MyClass进行反射 $ref_class = new ReflectionClass('MyClass'); //通过反射类进行实例化 $instance = $ref_class->newInstance(); //通过方法名myFun获取指定方法 $method = $ref_class->getmethod('myFun'); //设置可访问性 $method->setAccessible(true); //执行方法 $method->invoke($instance); ?>
위는 모두 구현 코드입니다. 친구들은 위 코드를 로컬에서 실행할 수 있습니다.
PHP 강좌에 관심이 많거나 프로그래밍 기술을 향상시키고 싶다면 PHP 중국어 웹사이트 제17회 php training 수업에 참여하세요.
위 내용은 PHP에서 클래스의 개인 메소드를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!