cyc1111 发表于 2017-4-8 14:25:08

关于PHP反射——Reflection in php4 and php5

  偶然有人问起,php4的反射,结果,上网一搜索,国外也有很多人问同样的问题,然而,查一下PHP手册,结果,居然,是看手册不仔细。
  反射——Reflection 我们需要用到的是两种情况,其一是:在对象创建完成后。对已存在的对象进行反射。其二是,在对象创建之前,我们要清楚,它是什么对象,比如:如果是某种对象,则放弃创建,就是一种实在的需求。
  当然,在对象已创建时,我们用类与对象函数,可能已基本够用。有人问,没创建时,如何处理?
  PHP5提供了反射——Reflection 的API。并且是完备的易用的API。
  很多人却不知,PHP4中也有简易的反射。php从4.06开始,就更新了一些类与对象操作函数,从而实现了类的反射。
  以下这些函数,各位不妨打开手册看看。
  get_class_methods
get_class_vars
get_class
get_declared_classes
get_declared_interfaces
get_object_vars
get_parent_class
  其中:get_class_methods和get_class_vars参数完全是类名。而get_parent_class从php4.06开始,参数也可以是类名了。
   因为,任何一个类,均是通过其父类来区分类型的。所以,对于“如果是某种对象,则放弃创建”,则直接用get_parent_class这个函数就能解决。
页: [1]
查看完整版本: 关于PHP反射——Reflection in php4 and php5