<转>利用反射API查看类所在文件

前言

有些情况下, 不大清楚类究竟是在那个路径下, 只知道类名的情况下, 怎么查看类所在的路径呢?

在没有IDE智能提示的情况下还是有点麻烦的。这一次我们用的是PHP的反射API去搞定的。

PHP 反射API

什么是反射API

PHP5 的反射API是用来分析代码的一系列内置类, 可以获取类信息、方法参数信息、函数信息、属性等信息, 非常强大。

自然小小的获取类所在的文件名自然也不是神马大事了。

具体代码

$obj = new ReflectionClass('TimeCostStrategy');
$filename = $obj->getFileName();
echo $filename;

短短的三行代码就可以搞定了;

分析

这次的目的其实就是查找一个类, 看看这个类究竟是哪里定义的。

那我们要用的肯定是类信息获取的反射API了: ReflectionClass

而ReflectionClass::getFileName则可以获取定义类的文件名了, 也就是我们想要的玩意。

需要注意的是,这段代码需要放在可以正常加在Order类的代码中才可以, 否者
有可能会因为找不到这个类而抛异常。

反射API总览

    • Reflection:
      反射类
    • ReflectionClass:
      类信息和工具
    • ReflectionMethod:
      类方法信息和工具
    • ReflectionParameter:
      方法参数信息
    • ReflectionProperty:
      类属性信息
    • ReflectionFunction:
      函数信息和工具
    • ReflectionException:
      错误类
    • ReflectionExtension:
      PHP扩展信息

posted on 2016-03-05 13:20  hahahahahai12  阅读(159)  评论(0)    收藏  举报

导航