Pan*_*ira 5 controller laravel phpmd illuminate
我在 Laravel 控制器可调用类上使用 PHP Mess Detector,我收到这样的消息
Avoid using static access to class 'Illuminate\Support\Facades\Cache' in method '__invoke'
Run Code Online (Sandbox Code Playgroud)
谁能解释为什么我必须避免在调用方法上使用静态访问?
静态访问会导致对其他类的不可交换的依赖关系,并导致难以测试代码。不惜一切代价避免使用静态访问,而是通过构造函数注入依赖项。静态访问可接受的唯一情况是用于工厂方法。
参考: https: //phpmd.org/rules/cleancode.html#staticaccess
| 归档时间: |
|
| 查看次数: |
1720 次 |
| 最近记录: |