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 Rout |
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 codeceptionMIT 라이센스 (MIT). 자세한 내용은 라이센스 파일을 참조하십시오.