Изучая Laravel контракты, я нашел пример, где пользователь может выбрать метод оплаты.
В этом примере AppServiceProvider в методе register() выполняется проверка параметра в url, и в зависимости от параметра выполняется один либо другой метод:
class AppServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->singleton(PaymentContract::class, function ($app) {
if (request()->has('credit')){
return new CreditPayment();
} else {
return new BankPayment();
}
});
}
}
Для примера, в учебных целях, такой проверки достаточно. Но есть ли еще варианты, где можно или было бы более правильно выполнять такую проверку? Возможно AppServiceProvider это не самое лучшее место для для таких проверок? Других примеров я не нашел.