很久之前用过关于反射相关的函数,一直没时间整理,趁下班等巴士的这段时间,整理下
1.反射是什么?
它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信息以及动态调用对象的方法的功能称为反射API。
反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用。
2. 反射应用场景
- 生成文档(生成代码文档,方便查阅)
- 自动加载插件(使用加载的配置类,比如系统的配置文件,过滤常量)
- 加载第三方封装类库(加载类库,调用相关方法)
3. 实例代码
1 | //校验配置,注入配置,统一执行 |
到此程序结束,init启动会自动调用构造方法,初始化要加载类库的其他成员属性,包括初始化和执行相应方法操作,这里只是完成了对应的set方法。其中$this->modules属性保存了所有调用类的对象,每个对象包含数据,可以遍历包含的对象来以此调用execute()方法。
1 |
|
不同的API封装不同的过滤参数,通过反射调用来校验正确性
…………..未完,待整理