我在我的Laravel控制器可调用类上使用PHP Mess Detector,我得到了这样的消息
Avoid using static access to class 'IlluminateSupportFacadesCache' in method '__invoke'
有人能解释一下为什么我必须避免在invoke方法上使用静态访问吗?
静态访问导致对其他类和导致难以测试代码。不惜一切代价避免使用静态访问而是通过构造函数注入依赖项。唯一的案例当静态访问可接受时,是用于工厂方法时。
参考:https://phpmd.org/rules/cleancode.html#staticaccess