首页 > 代码库 > PHP通过反射方法调用执行类中的私有方法
PHP通过反射方法调用执行类中的私有方法
PHP 5 具有完整的反射 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通过反射方法调用执行类中的私有方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。