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 |
IlluminateSupportFacadesBroadcast broadcast | 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 |
IlluminateSupportFacadesRequest request | 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 , |
驗證器, IlluminateSupportFacadesValidator validator | IlluminateValidationFactory::class , IlluminateContractsValidationFactory::class |
view , IlluminateSupportFacadesView | IlluminateViewFactory::class , IlluminateContractsViewFactory::class |
$ composer codeception麻省理工學院許可證(麻省理工學院)。有關更多信息,請參見許可證文件。