• 技术文章 >php教程 >php手册

    PHP 高级编程(2)

    2016-06-13 09:33:34原创756
    PHP 5 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。 此外,反射 API 提供了方法来取出函数、类和方法中的文档注释。通过使用反射API可以分析其他的类、接口、方法、属性、函数和扩展。下面举例展示PHP自身类 Reflection 的定义:

    Reflection::export(new ReflectionClass('Reflection'));

    打印结果如下:

    Class [ <internal:Reflection> class Reflection ] {
    
      - Constants [0] {
      }
    
      - Static properties [0] {
      }
    
      - Static methods [2] {
        Method [ <internal:Reflection> static public method getModifierNames ] {
    
          - Parameters [1] {
            Parameter #0 [  $modifiers ]
          }
        }
    
        Method [ <internal:Reflection> static public method export ] {
    
          - Parameters [2] {
            Parameter #0 [  Reflector $reflector ]
            Parameter #1 [  $return ]
          }
        }
      }
    
      - Properties [0] {
      }
    
      - Methods [0] {
      }
    }

    从打印结果可以看出 export 是 Reflection 类的一个public 的静态方法,提供两个参数,一个必须提供的 reflector类型 ,另一个是可选的,bool类型。不只是export,反射API还有很多,通过这些API我们还可以查询类的元数据,动态的调用类的静态方法,反射还能被用来创建自动稳定编写系统。反射API定义了大量is和has类型的函数,它们可以用来在代码中执行条件判断。比如通过isUserDefined()来判断已经加载的类中哪些是用户定义的。

    (未完待续)

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php php reflection
    上一篇:如何正确理解PHP程序错误信息的表示含义 下一篇:PHP5程序中新增加日期(date)函数的常量
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• PHP5中Cookie与 Session使用详解• php中计算程序运行时间的类代码• 继续收藏一些PHP常用函数第1/2页• 第七节--类的静态成员• 第八节 访问方式 [8]
    1/1

    PHP中文网