php反射reflectionclass、reflectionmethod在thinkphp框架的控制器调度模块中的应用

thinkphp框架的控制器模块是如何实现 前控制器、后控制器,及如何执行带参数的方法?

php系统自带的 reflectionclass、reflectionmethod 类,可以反射用户自定义类的中属性,方法的权限和参数等信息,通过这些信息可以准确的控制方法的执行。

reflectionclass: [php手册]详情

主要用的方法:

hasmethod(string) 是否存在某个方法

getmethod(string) 获取方法

reflectionmethod: [php手册]详情

主要方法:

ispublic() 是否为 public 方法

getnumberofparameters() 获取参数个数

getparamters() 获取参数信息

invoke( object $object [, mixed $parameter [, mixed $… ]] ) 执行方法

invokeargs(object obj, array args) 带参数执行方法

实例演示:

Posted in 未分类