VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • PHP通过反射方法调用执行类中的私有方法

下面我们来看一篇关于PHP通过反射方法调用执行类中的私有方法,希望这篇教程能够帮助到各位朋友,有兴趣的可以进来看看.

PHP 5 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力.

下面我们演示一下如何通过反射,来调用执行一个类中的私有方法:

  1. <?php 
  2.  
  3. //MyClass这个类中包含了一个名为myFun的私有方法 
  4. class MyClass { 
  5.      
  6.     private $tmp = 'hello'
  7.      
  8.     private function myFun() 
  9.     { 
  10.         echo $this->tmp . ' ' . 'world!'
  11.     } 
  12.  
  13. //通过类名MyClass进行反射 
  14. $ref_class = new ReflectionClass('MyClass'); 
  15. //phpfensi.com 
  16. //通过反射类进行实例化 
  17. $instance  = $ref_class->newInstance(); 
  18.  
  19. //通过方法名myFun获取指定方法 
  20. $method = $ref_class->getmethod('myFun'); 
  21.  
  22. //设置可访问性 
  23. $method->setAccessible(true); 
  24.  
  25. //执行方法 
  26. $method->invoke($instance); 
  27. ?> 
  28.  

出处:http://www.phpfensi.com/php/20160727/10497.html


相关教程