PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php中怎么调用类的私有方法

王林
王林 原创
2021-09-01 15:24:37 2802浏览

php中调用类的私有方法的具体步骤:1、通过类名进行反射;2、通过反射类进行实例化;3、通过方法名获取指定方法;4、设置可访问性;5、执行方法。

本文操作环境: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培训班。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。