znanylekarz/google-bundle
A Symfony bundle from ZnanyLekarz for integrating Google APIs into PHP applications. It provides service wiring and configuration helpers so you can connect Google-powered features without repetitive client setup. Useful for Symfony projects that need a lightweight bridge to Google services.
Architecture fit. znanylekarz/google-bundle is a Symfony Bundle, not a Laravel package. Bundles are the Symfony 2/3 extension unit; they rely on Bundle subclasses, XML/YAML service definitions, and Twig extensions registered via the bundle's extension class. This is fundamentally incompatible with Laravel's service-provider/container model, and structurally dated even for Symfony — Symfony 4+ moved to symfony/flex recipes and non-bundle third-party packages. The package would not install cleanly into a modern Symfony (6/7) or Laravel app without aliasing composer constraints and porting the wiring.
Integration feasibility. Two blockers:
ga.js / early analytics.js model, i.e. Universal Analytics, which stopped ingesting data in July 2023. GA4 uses a different data model and a separate Measurement Protocol. AdWords was rebranded Google Ads and the AdWords API was sunset in 2022. So two of the three advertised integrations are already dead APIs. Only Static Maps remains conceptually valid, and that is trivial to implement directly.Technical risk. High. Signals: 1 star, 0 dependents, score 0.005 — effectively no ecosystem validation. No vendor support. Old Symfony/PHP constraints almost certainly prevent Composer from resolving on PHP 8.2+. Likely transitive dependencies on abandoned packages (old Guzzle, old Symfony components). Server-side analytics also raises correctness concerns (bot filtering, consent/ GDPR handling, IP anonymization) that a decade-old bundle does not address.
Key questions.
Stack fit. Poor. Not a fit for Laravel or modern Symfony. Fits only Symfony 2.x/3.x on PHP 5.5–7.x. If the target stack is Laravel 10/11 on PHP 8.2+, this package is not installable.
Migration path.
https://www.google-analytics.com/mp/collect. Queue it (Laravel dispatch, Symfony Messenger) to honor the bundle's "Page View Queue" spirit without its code.googleads/googleads-php-lib (official), with proper OAuth2 refresh-token handling.Compatibility. Before considering adoption in any form, inspect composer.json for symfony/* and php constraints and run composer why-not against the target stack. Expect failures. Also grep for abandoned transitive dependencies.
Sequencing. If you insist on evaluating:
Maintenance. Effectively unmaintained. 1 star / 0 dependents means no contributor pipeline, no downstream bug reports, no fixes. Adopting this means you become the maintainer of a fork that wraps Google APIs that have already changed once and will change again.
Support. None. No vendor, no community, no Slack, no docs beyond the README. Any production incident is yours alone — including silent failure modes where a deprecated UA endpoint returns 200 with no data.
Scaling. The bundle is stateless per request, so it scales as a library would; however, server-side calls to Google endpoints block the request unless queued. The "Page View Queue" design suggests the original maintainers already hit this — a good hint to adopt the pattern rather than the code. Also consider quota/rate limits and egress cost from app servers to Google on every page view.
Failure modes.
Ramp-up. Low learning cost (the code is thin HTTP calls + Twig helpers), but negative net value: half a day to read, then a strong recommendation to reimplement in-house in ~1–2 days with modern, maintained dependencies and explicit consent/queueing. For a Symfony2 legacy app specifically, reuse is possible but should be treated as temporary scaffolding with a scheduled replacement tied to the framework migration.
Recommendation. Treat as reference implementation only. Do not adopt as a dependency. The Maps Static signing logic is the only reusable artifact, and it is cheaper to write fresh than to take on the maintenance burden of an abandoned, Symfony-2-era bundle.
How can I help you explore Laravel packages today?