new AppSessionService('domain_session_uuid')); App::singleton(BasketRepository::class, fn () => new SessionBasketRepository( resolve(Session::class), self::BASKET_SESSION_KEY_PREFIX, resolve(BasketSerializer::class) )); App::singleton(BasketService::class, fn () => new BasketService( resolve(BasketRepository::class), resolve(ProductRepository::class), resolve(SessionService::class) )); App::singleton(OrderBuilderSessionManager::class, fn () => new SessionOrderBuilderManager( resolve(Session::class), self::ORDER_BUILDER_SESSION_KEY )); } }