码迷,mamicode.com
首页 > Web开发 > 详细

php反射的使用

时间:2014-06-02 08:43:19      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   a   

说到反射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反射官方文档中得到。

总结下来就是,如果你需要实例化一个类,除了类的名字外你还想知道其他的关于这个类的属性信息,那么你应该用反射来得到。

php反射的使用,布布扣,bubuko.com

php反射的使用

标签:c   style   class   blog   code   a   

原文地址:http://www.cnblogs.com/xiongji/p/3763585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!