service locator interrupter
Bump dependencies, code refactoring

与作曲家安装此软件包:
| PHP版本 | 软件包版本 |
|---|---|
| php ^7.1 | composer require kafkiansky/service-locator-interrupter "1.0.4" --dev |
| php ^8.0 | composer require kafkiansky/service-locator-interrupter "2.0.1" --dev |
| PHP <= 8.1 | composer require kafkiansky/service-locator-interrupter "2.1.0" --dev |
| php ^8.1 && laravel ^10.x | composer require kafkiansky/service-locator-interrupter "^4.0" --dev |
| php ^8.2 && laravel ^11.x | composer require kafkiansky/service-locator-interrupter "^5.0" --dev |
像Laravel一样的开发人员更喜欢使用某些IOC不良做法。例如:立面,助手方法,容器注入和容器实例在任何地方创建:控制器,服务,路线甚至模型。您需要在方法和构造函数中注入必要的服务,不要致电容器为您做。任何服务都必须拥有自己的合同,集装箱注入 - 这不是法律合同,而是黑客。
该插件可以找到服务定位器使用情况的问题 - 助手,外墙,集装箱注入,集装箱实例创建 - 并防止它们。
即使您有自己的立面,也会找到插件。
即使您已经继承了Container/Application程序类,也会找到该插件。
即使您已经实现了任何FO ContainerInterface ,该插件也会阻止它。
| 助手/立面 | 您需要使用什么 |
|---|---|
event , IlluminateSupportFacadesEvent | IlluminateEventsDispatcher::class , IlluminateContractsEventsDispatcher::class |
info , IlluminateSupportFacadesLog | IlluminateLogLogManager::class , PsrLogLoggerInterface::class |
logger , IlluminateSupportFacadesLog | IlluminateLogLogManager::class , PsrLogLoggerInterface::class |
logs , IlluminateSupportFacadesLog | IlluminateLogLogManager::class , PsrLogLoggerInterface::class |
abort, abort_if, abort_unless | IlluminateHttpExceptionsHttpResponseException , SymfonyComponentHttpKernelExceptionHttpException |
auth , IlluminateSupportFacadesAuth | IlluminateAuthAuthManager::class , IlluminateContractsAuthFactory::class |
back | IlluminateRoutingRedirector |
broadcast , IlluminateSupportFacadesBroadcast | IlluminateBroadcastingBroadcastManager , IlluminateContractsBroadcastingFactory |
cache , IlluminateSupportFacadesCache | IlluminateCacheCacheManager::class , IlluminateContractsCacheFactory::class |
config , IlluminateSupportFacadesConfig | IlluminateConfigRepository::class , IlluminateContractsConfigRepository::class |
cookie , IlluminateSupportFacadesCookie | IlluminateCookieCookieJar::class , IlluminateContractsCookieFactory::class , IlluminateContractsCookieQueueingFactory::class |
dispatch, dispatch_now | IlluminateContractsBusDispatcher , IlluminateBusDispatcher , IlluminateContractsBusQueueingDispatcher , |
redirect , IlluminateSupportFacadesRedirect | IlluminateRoutingRedirector , IlluminateHttpRedirectResponse |
report | IlluminateContractsDebugExceptionHandler |
request , IlluminateSupportFacadesRequest | IlluminateHttpRequest::class , SymfonyComponentHttpFoundationRequest::class |
response , IlluminateSupportFacadesResponse | IlluminateContractsRoutingResponseFactory , IlluminateRoutingResponseFactory , |
route , IlluminateSupportFacadesRoute | IlluminateRoutingUrlGenerator::class , IlluminateContractsRoutingUrlGenerator::class , |
url , IlluminateSupportFacadesURL | IlluminateRoutingUrlGenerator::class , IlluminateContractsRoutingUrlGenerator::class , |
session , IlluminateSupportFacadesSession | IlluminateSessionSessionManager::class , IlluminateSessionStore::class , IlluminateContractsSessionSession::class |
trans, trans_choice | IlluminateContractsTranslationTranslator , IlluminateTranslationTranslator , |
validator , IlluminateSupportFacadesValidator | IlluminateValidationFactory::class , IlluminateContractsValidationFactory::class |
view , IlluminateSupportFacadesView | IlluminateViewFactory::class , IlluminateContractsViewFactory::class |
$ composer codeception麻省理工学院许可证(麻省理工学院)。有关更多信息,请参见许可证文件。