转自:https://www.cnblogs.com/xiongji/p/3763585.html
说到反射ReflectionClass大家可能都知道了,通过将一个类的各种属性封装一下供用户使用。
我一开始的时候很是疑惑,既然类的名字都知道了为啥还要用反射,网上别人给的例子让我看来也纯粹是为了反射而反射,后来看到kohana框架的源码中对反射的使用,我了解了,一句话:反射可以用来得到一些你从类的名字中获取不到的属性。
代码片段:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
 | 
          $extension = 'class '.$class.' extends '.$class.'_Core { }';            // Start class analysis            $core = new ReflectionClass($class.'_Core');            if ($core->isAbstract())            {                // Make the extension abstract                $extension = 'abstract '.$extension;            }//var_dump("extension:".$extension);            // Transparent class extensions are handled using eval. This is            // a disgusting hack, but it gets the job done.            eval($extension); | 
这里获得了这个类是不是一个抽象类这个属性。当然还有其他的属性我们可以用
可以在php反射官方文档中得到。
总结下来就是,如果你需要实例化一个类,除了类的名字外你还想知道其他的关于这个类的属性信息,那么你应该用反射来得到。
	更多精彩内容:各种AI课程、技能课程、黑科技软件、网站小程序源码、副业小项目、PPT模板等精品素材、电商课程、推广引流课程等,尽在 天边资源网 。