`
bardo
  • 浏览: 372299 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11622
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:9982
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9341
社区版块
存档分类
最新评论

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

    博客分类:
  • PHP
PHP 
阅读更多

   

    偶然有人问起,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这个函数就能解决。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics