kafkiansky/service-locator-interrupter

Psalm 插件,用于中断 Laravel 中的服务定位器调用。

5.0.0 2024-06-24 07:03 UTC

README

test Software License Quality Score StyleCI Total Downloads Latest Stable Version

内容

安装

使用 Composer 安装此包

原因

Laravel 类型的开发者倾向于使用一些 IoC 的不良做法。例如:门面、辅助方法、容器注入和容器实例的创建:控制器、服务、路由甚至模型。你需要在方法和构造函数中注入必要的服务,而不是调用容器来为你完成它。任何服务 都必须 有它自己的契约,容器注入 - 这不是合法的契约,这是一种漏洞。

此插件可以找到服务定位器使用的问题 - 辅助方法、门面、容器注入、容器实例的创建 - 并防止它们发生。

即使你有自己的门面,此插件也会找到它.

即使你继承了 Container/Application 类,此插件也会找到它.

即使你实现了任何 ContainerInterface,此插件也会防止它.

依赖注入

替换映射

测试

$ composer codeception

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件