在PHP中缓存依赖项


Caching Dependencies in PHP

我有一个构建在IoC容器之上的小系统。该IoC容器能够通过使用反射(ReflectionClass、ReflectionMethod等)自动解析所请求类的依赖项,并将这些依赖项注入到类的构造函数中。

问题是,我读过很多帖子说反射是一个非常缓慢的方法,每次运行都使用它是一个不好的做法。

因此,我想避免每次运行都使用反射,我的想法是缓存依赖项或请求的类。

我将缓存类的依赖关系和类代码的哈希版本,这样我就知道何时重新评估类的依赖关系(当类代码的哈希值与缓存的哈希值不匹配时,换句话说,代码自上次评估依赖关系以来被修改)。

这是一个很好的方法,还是我应该保持反射每次运行的方法?我主要关心的是,这种方法是否有助于优化系统性能,还是会减慢系统的速度?

谢谢,Arik

问题是我读过很多文章说反射是一个非常缓慢的方法

所以你没有真正的问题。除非你的网站有性能问题,否则你为什么要关心呢?

过早优化是万恶之源