petrepatrasc/blizzard-starcraft-api
Laravel package for the Blizzard StarCraft II API, offering an expressive, testable client to query profiles, ladders, matches, achievements, and other game data. It simplifies authentication and API requests so you can integrate StarCraft II stats into your PHP applications.
Architecture fit
file_get_contents with cURL is a meaningful maturation. The stream-wrapper approach is brittle: it is gated by allow_url_fopen, offers poor control over headers, timeouts, redirects, and SSL verification, and surfaces failures as warnings plus false rather than exceptions. cURL gives deterministic error handling and proxy/header support.Http client, may reduce testability and lose middleware, retry, and mocking ergonomics. Worth confirming whether the "extensible layer" wraps cURL behind an interface that can be swapped.Integration feasibility
ext-curl is effectively universal in PHP runtimes; removing allow_url_fopen as an implicit requirement eliminates a frequent shared-hosting and hardened-container blocker.Technical risk
false-on-failure semantics, may break silently or noisily. Treat 1.1.0 as potentially breaking until proven otherwise.Key questions
ext-curl now declared in composer.json?Stack fit
Http. If the connectivity layer is interface-driven, bind a Guzzle-backed implementation in tests and keep the package's transport for production, or vice versa.Migration path
composer.json for the new ext-curl requirement and updated PHP/Laravel constraints; CI images must satisfy them.Compatibility
php artisan config:cache (no runtime env() calls inside the package).Sequencing
Maintenance
Support
Scaling
Failure modes
false to exceptions (or vice versa), existing error handling may not catch failures. Assert this explicitly in tests.Ramp-up
Recommendation (conditional): 1.1.0 is a substantive improvement that addresses the two blockers that would otherwise disqualify the package — transport reliability and authenticated endpoint access. Proceed to a time-boxed spike, but do not adopt broadly until the breaking-change question, token lifecycle, and error-handling contract are confirmed in writing. Treat the minor version as suspicious until verified.
How can I help you explore Laravel packages today?