zoukankan      html  css  js  c++  java
  • 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);
    ?>

  • 相关阅读:
    2020年4月13日
    2021年4月12日
    梦断代码阅读笔记02
    Shell基本命令
    远程链接Linux
    Linux文档与目录结构
    VMware与Centos系统安装
    linux 第一天
    day88 Vue基础
    python 生成随机验证码
  • 原文地址:https://www.cnblogs.com/php-rearch/p/6159478.html
Copyright © 2011-2022 走看看