关于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这个函数就能解决。

你可能感兴趣的:(PHP)