
Installieren Sie dieses Paket mit Composer:
| PHP -Version | Paketversion |
|---|---|
| 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-ähnliche Entwickler ziehen es vor, einige Arten von schlechten IOC-Praktiken zu verwenden. In Beispiel: Fassaden, Hilfsmethoden, Containerinjektion und Containerinstanzen erstellen irgendwohin: Controller, Dienste, Routen und sogar in Modellen. Sie benötigen die erforderlichen Dienste in Methode und Konstruktor, nicht Container, um dies für Sie zu tun. Alle Dienstleistungen müssen einen eigenen Vertrag haben , Container -Injektion - es ist kein Rechtsvertrag, es ist Hack.
Dieses Plugin kann Probleme der Nutzung des Service -Locators - Helfer, Fassaden, Containerinjektion, Containerinstanzen erstellen - und diese verhindern.
Selbst wenn Sie eine eigene Fassade haben, wird das Plugin gefunden .
Selbst wenn Sie Container/Application Anwendungsklassen erbten, wird das Plugin gefunden .
Auch wenn Sie ein FO ContainerInterface implementiert haben, verhindern das Plugin dies auch .
| Helfer/Fassade | Was Sie stattdessen verwenden müssen |
|---|---|
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 codeceptionDie MIT -Lizenz (MIT). Weitere Informationen finden Sie unter Lizenzdatei.