3

我在我的 Laravel 控制器可调用类上使用 PHP Mess Detector,我收到这样的消息

Avoid using static access to class 'Illuminate\Support\Facades\Cache' in method '__invoke'

谁能解释一下为什么我必须避免在调用方法上使用静态访问?

4

1 回答 1

0

静态访问会导致对其他类的不可交换依赖,并导致难以测试代码。不惜一切代价避免使用静态访问,而是通过构造函数注入依赖项。唯一可以接受静态访问的情况是用于工厂方法。

参考:https ://phpmd.org/rules/cleancode.html#staticaccess

于 2020-05-01T04:03:02.840 回答