偶然有人问起,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这个函数就能解决。
分享到:
相关推荐
轻松掌握java反射技术,虽然讲得比较简单,但是通俗易懂。
反射(Reflection)是C#里很重要的一个特性,源码是我写的一篇关于反射的文章的示例,有详细的解释,是学习反射的好实例。
Summary and ReflectionThis chapter will provide a summary to the group project i
Java Reflection in Action is unique in presenting a clear account of all the cool things you can do with reflection, and at the same time pro- viding the sound conceptual basis that developers need to...
C# 反射例ReflectionExample C# 反射例ReflectionExample C# 反射例ReflectionExample
C#反射(Reflection)详解 什么是反射 命名空间和装配体的关系
java reflection in action 2005 英文版
JAVA REFLECTION IN ACTION
c# 反射(Reflection)例子
Unity Planar Reflection平面反射
Minning - A book talked about Java Reflection in details.
As reflection becomes increasingly common and useful in all sorts of applications, it is great to finally have a book that features disciplined yet still creative and fun software engineering ...
Java Reflection In Action(英文版)
供初学反射的开发者提供一个小例子,希望各位多多指点
Reflection in Java. 介绍Java中的反射机制,候捷谈Java反射机制
主要介绍了PHP 反射(Reflection)使用实例,本文讲解了ReflectionClass、ReflectionExtension、 ReflectionFunction、ReflectionMethod、ReflectionObject、ReflectionParameter等类的使用实例,需要的朋友可以参考下