反射方法的执行时间


Execution time of ReflectionMethod

我正在用php构建一个Web应用程序,我已经创建了自己的MVC框架(出于多种原因,例如更大的灵活性)。

我有一个调用方方法,该方法使用已发布的数据在正确的控制器中自动调用正确的方法。但是我想知道 ReflectionMethod 的执行时间,以获取具有所需方法默认值的参数并使用call_user_func_array调用它。

是否可以在每个服务器端调用上使用一次 ReflectionMethod,或者最好使用默认参数的所有控制器/方法构建一个数组(每次添加或更改方法签名时都强制我调用 ApplicationComplied)?

反射仍然比直接调用慢得多。有两件事发生了变化:

运行时优化了反射机制,因此差异变得更小CPU变得更快,因此小的低效率更容易容忍这两个因素加在一起,将反射的成本降低到可以经常使用它的程度。