kafkiansky / service-locator-interrupter
Psalm 插件,用于中断 Laravel 中的服务定位器调用。
5.0.0
2024-06-24 07:03 UTC
Requires
- php: ^8.2
- ext-simplexml: *
- vimeo/psalm: ^5.12
Requires (Dev)
- ergebnis/composer-normalize: ^2.31
- laravel/framework: ^11.0
- phpunit/phpunit: ^10.2
- squizlabs/php_codesniffer: ^3.7
- weirdan/codeception-psalm-module: ^0.14.0
This package is auto-updated.
Last update: 2024-09-24 07:52:41 UTC
README
内容
安装
使用 Composer 安装此包
原因
Laravel 类型的开发者倾向于使用一些 IoC 的不良做法。例如:门面、辅助方法、容器注入和容器实例的创建:控制器、服务、路由甚至模型。你需要在方法和构造函数中注入必要的服务,而不是调用容器来为你完成它。任何服务 都必须 有它自己的契约,容器注入 - 这不是合法的契约,这是一种漏洞。
此插件可以找到服务定位器使用的问题 - 辅助方法、门面、容器注入、容器实例的创建 - 并防止它们发生。
即使你有自己的门面,此插件也会找到它.
即使你继承了 Container/Application
类,此插件也会找到它.
即使你实现了任何 ContainerInterface
,此插件也会防止它.
依赖注入
替换映射
测试
$ composer codeception
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。