- Can I use mmoreram/spotify-api-bundle in a Laravel application?
- No, not as a working integration. It is a Symfony2 bundle whose value comes from a Bundle class registered in AppKernel, a DependencyInjection extension loading service definitions, and a Configuration tree — none of which Laravel executes. The only reusable asset is the request-shaping code wrapped around a 2014-era Spotify HTTP client. Treat the source as reference material and re-implement behind a Laravel service provider.
- Does mmoreram/spotify-api-bundle support Laravel 10 or Laravel 11?
- No. The bundle pins Symfony 2.x components and targets PHP 5.3/5.4, while Laravel 10 and 11 pull Symfony 6/7 and require PHP 8.1 or newer. Composer resolution will almost certainly fail. Forcing the install with --ignore-platform-reqs leads to runtime fatals rather than a working integration.
- Will composer require mmoreram/spotify-api-bundle work on modern PHP?
- Unlikely without ignoring platform requirements, which is not a supported path. The PHP constraint targets 5.3/5.4, and the dependency chain includes a Buzz/Guzzle 3-era HTTP client that conflicts with Guzzle 7 as pulled by Laravel. Even if resolution succeeds, you get runtime errors instead of a usable client.
- What are the best alternatives to this bundle for Spotify in Laravel?
- Use a maintained PHP Spotify SDK such as jwilsson/spotify-web-api-php, or call the Spotify REST API directly with Laravel's HTTP client. Both let you bind a SpotifyClient singleton in a service provider and keep credentials in config/services.php sourced from env. Calling the API directly is often simplest because the endpoints are just JSON over HTTPS.
- Is mmoreram/spotify-api-bundle still maintained?
- The project appears abandoned: around 12 stars, zero dependents, and no ecosystem pressure to fix issues. Abandoned transitive dependencies also mean there is no security patch path. Do not expect upstream fixes for Spotify API or OAuth changes.
- Does it support current Spotify OAuth flows like PKCE and refresh-token rotation?
- No. The client dates from 2014, before OAuth 2.0 Authorization Code with PKCE, refresh-token rotation, and scope negotiation became mandatory requirements. Modern Spotify apps also need the current rate-limit contract with a rolling 30-second window and 429 plus Retry-After handling. You would end up rewriting the authentication layer regardless.
- How do I configure Spotify API credentials in Laravel?
- Put client_id and client_secret in config/services.php sourced from environment variables, then read them with config(). Store tokens in a cache-backed token store, using Redis in production, and refresh them before expiry. This mirrors what the bundle's Configuration tree did, but idiomatically for Laravel.
- How do I handle Spotify rate limits and 429 responses in Laravel?
- Add a middleware to Laravel's HTTP client that inspects 429 responses and waits according to the Retry-After header before retrying with backoff. Spotify uses a rolling 30-second window, which the 2014-era client in this bundle cannot handle. Queue non-urgent calls so bursts do not exhaust the quota.
- Can I reuse the code from this bundle in a Laravel project?
- Legally yes, since it is MIT licensed, but practically you should only extract endpoint URLs, parameter mapping, and response DTOs. Diff those against current Spotify documentation and discard anything targeting retired endpoints such as legacy ws.spotify.com metadata or old search/1 and lookup/1 paths. Expect roughly a day of reading and discarding for every hour of genuinely reusable code.
- Which Spotify capabilities should I confirm before choosing an integration approach?
- Decide whether you need catalog and search only, or user-authenticated playback and playlist writes, since that determines scope count and whether PKCE is required. Confirm whether a single app-level client-credentials token is enough or per-user OAuth is needed. Also check whether any existing request/response shapes must be preserved, and who owns the Spotify developer app registration and quota negotiation.