Ham*_*edi 8 php reflection class
可能重复:
PHP:反射API - 很少使用PHP的好添加
查找文档是一个问题,但文档的质量是另一个同样重要的问题.大多数开发人员都知道准确注释代码的价值,但是当我处于编码的中间时,代码的含义似乎总是很清晰,因此注释显得多余.此外,缺少内部文档总是存在最终借口 - 我希望保持较小的文件大小以减少下载时间.
这通常是内部文档的情况,但外部文档的表现并不好.因为事情总是在改变,所以写它是没有意义的,但是,当我完成编码时,文档是我脑海中最远的东西.
但是:我在谷歌搜索,我找到了一个名为Reflection Classes的解决方案,任何人都可以简单地描述它吗?
Ham*_*edi 11
摘自面向对象的PHP:概念,技术和代码 作者:Peter Lavin:
这组类是为了内省其他类的明确目的而创建的.这些类可以通过检索有关类的元数据来检查其他类的属性.你甚至可以用它们来检查反射类本身.
Reflection提供有关类或接口的修饰符的信息 - 例如,该类是final还是static.
它还可以显示类的所有方法和数据成员以及应用于它们的所有修饰符.
传递给方法的参数也可以被反省,并暴露变量的名称.通过反射,可以自动化内置类或用户定义类的文档.
事实证明,关于课程的中央信息库始终在我们面前.PHP可以通过反射类的镜像告诉我们所有关于它自己的信息.
类或应用程序编程接口(API)的反射组由许多不同的类和一个组成
界面,如下所示:
class Reflection
interface Reflector
class ReflectionException extends Exception
class ReflectionFunction implements Reflector
class ReflectionParameter implements Reflector
class ReflectionMethod extends ReflectionFunction
class ReflectionClass implements Reflector
class ReflectionObject extends ReflectionClass
class ReflectionProperty implements Reflector
class ReflectionExtension implements Reflector
Run Code Online (Sandbox Code Playgroud)
看看这个列表,实际上并没有所有反射类共有的类祖先.另一方面,Reflector接口由除Reflection和ReflectionException之外的所有类共享.
ReflectionMethod extendsReflectionFunction, ReflectionObject扩展ReflectionClass,并ReflectionException扩展Exception.
ReflectionObject分享ReflectionClass的所有方法; 这些类之间的唯一区别是ReflectionObject使用类实例而不是类名作为参数 - 使用实例,您可以在不知道任何内容的情况下内省类,甚至是名称.
| 归档时间: |
|
| 查看次数: |
10263 次 |
| 最近记录: |