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 codeceptionMITライセンス(MIT)。詳細については、ライセンスファイルを参照してください。