thinwrap/location
Google Maps Platform, Mapbox, HERE, ESRI ArcGIS, TomTom, OSRM (self-hosted)
Thinwrap publishes two PHP packages on Packagist. The claims below hold for PHP only — honest about the PSR-17/18 interface deps and the cosign-signed-GitHub-release provenance posture Packagist permits.
Google Maps Platform, Mapbox, HERE, ESRI ArcGIS, TomTom, OSRM (self-hosted)
SendGrid, AWS SES, Mailgun, Postmark, Resend, Brevo (Sendinblue), +29
The unified facade surface includes only features that ≥90% of providers natively support. Sub-baseline fields stay accessible via the _passthrough escape valve and per-provider augmented config DTOs. Cross-language parity with the TypeScript packages is tracked as a design goal — not a hard release gate — so a connector can land in one language ahead of the other.
The wrapper holds no state — retry strategy, token caching, and the PSR-18 client lifecycle stay with the consumer. The wrapper performs no automatic retry; Retry-After headers (when present on HTTP 429) are parsed intoConnectorError->providerMessage and the raw header is available on the $e->cause payload. There isno structured retryAfterSeconds field on ConnectorError — by design.