PHP中的反射机制汇总

本文探讨了PHP框架中如何利用反射机制根据controller的action注释进行身份验证。通过研究`ReflectionClass`等反射类,了解了它们提供的方法和属性,如`getDocComment`、`getParameters`等。反射机制在IDE的代码自动提示和动态分析类行为中发挥重要作用。
摘要由CSDN通过智能技术生成

        今天无意间看之前使用过的一个框架,想到这个框架可以根据controller的action中的注释来决定执行该动作是否需要进行身份验证,就想研究一下他是怎么实现的。找到了相应的实现位置,发现里面使用了大量的反射特性。刚好我对反射也不熟,所以就像研究研究。

        首先了解到了一个函数:get_declared_classes(),这个函数可以返回当前载入的所有类的类名组成的数组。于是我运行一下,看看php中内置的有哪几个反射类。内置的反射类如下,我们可以根据反射来分析这几个类的提供了哪些方法和属性,其实很多的IDE实现的代码自动提示使用的就是这个特性,我们也可以使用这种方法来研究下面的这些类例如下面的第一个反射异常类 : Reflection::export(new ReflectionClass('ReflectionException')); 

        ReflectionException

        反射异常类,这个和普通的异常类基本功能一样,没有什么好说的

        Reflection

        反射基础类,这个类只提供了两个静态方法:

        

 - Static methods [2] {
    Method [ <internal:Reflection> static public method getModifierNames ] {  // 这个方法我还不知道是做什么用的

      - Parameters [1] {
        Parameter #0 [ <required> $modifiers ]
      }
    }

    Method [ <internal:Reflect
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值