app->singleton(Broker::class, function (): Broker { $configName = Config::get('queue.broker'); $brokerConfig = Config::get('queue.broker_config.' . $configName) ?? []; $brokerClass = Broker::BROKER_TYPES[$configName] ?? null; if ($brokerClass && class_exists($brokerClass)) { return new $brokerClass($brokerConfig); } throw new \RuntimeException("Broker class $brokerClass does not exist."); }); } }