Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Gls Bundle Laravel Package

webit/gls-bundle

A Symfony bundle that integrates the GLS courier API into your application, letting you create shipments, generate parcel labels, and track delivery status directly from your existing Symfony services and configuration.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Despite being catalogued alongside PHP packages, this is a Symfony 2 bundle, not a Laravel package. It ships as a Bundle class wired into Symfony's dependency injection container, event dispatcher, and configuration tree — none of which map cleanly onto Laravel's Illuminate container, service provider lifecycle, or config system. The functional surface is GLS ADE (shipping label / shipment data exchange) and Track & Trace API calls; if the bundle keeps its API clients as plain injectable services, those are the only reusable artifacts for a Laravel stack. Anything tied to Symfony's ContainerBuilder, CompilerPass, or bundle extension is dead weight outside a Symfony kernel.

Integration feasibility. Low as published. A Laravel integration would require either (a) extracting the API client classes and re-wiring them behind an Illuminate\Support\ServiceProvider, or (b) installing symfony/* components alongside Laravel and bridging containers — the latter is fragile and dependency-conflict-prone. Feasibility hinges on whether the GLS protocol handling is decoupled from Symfony plumbing, which is unverifiable from the metadata alone and must be confirmed by source review.

Technical risk. High. Three compounding signals: Symfony 2 reached end-of-life years ago, so the package's foundation is unpatched by definition; the repository shows 1 star and 0 dependents, meaning no community validation and no one else's production usage to learn from; and a score of 0.065 with opportunity at 22.49 suggests it is a low-adoption, low-maintenance artifact rather than a hidden gem. GLS periodically versions its ADE schema and T&T endpoints, so an unmaintained client is a standing liability against API drift.

Key questions. Do the API clients have any hard dependency on Symfony classes? Which GLS ADE and T&T API versions does it target, and are those still live in the GLS developer portal? What PHP version range is declared in composer.json, and does it collide with the target Laravel version's constraints? Is there any test coverage against GLS's sandbox? Who owns the upstream repository, and is there any commit activity in the last 24 months?

Integration Approach

Stack fit. Poor out of the box. Laravel and Symfony 2 bundles are orthogonal extension models. The viable path is to treat this repository as a reference implementation of the GLS wire protocol (XML/JSON payload shapes, auth headers, endpoint URLs, label output handling) rather than as an installable dependency. That reframing converts the package from a risky dependency into documentation.

Migration path. Recommended sequence: (1) source audit to identify framework-agnostic client classes and isolate the GLS payload logic; (2) if clean, vendor those classes into app/Services/Gls/ behind a thin Laravel service provider and a config file, stripping Symfony annotations and container references; (3) if entangled, do not port — instead implement a fresh client in Laravel using the repository's payload structures and endpoint knowledge as the spec, ideally against the GLS sandbox. A third option, evaluating a maintained modern GLS client, should be priced alongside the port before committing.

Compatibility. Expect friction. A Symfony 2-era bundle will typically declare PHP >=5.3 or ~5.4|~7.0 and Symfony ~2.3 constraints; a current Laravel install requires PHP 8.1+ and will not resolve those constraints without --ignore-platform-reqs hacks, which are a poor foundation for production. Composer will likely refuse the install outright, reinforcing the vendor-and-adapt approach over composer require.

Sequencing. Audit first, because every downstream estimate depends on the coupling finding. Then a one-week timeboxed spike: stand up a sandbox GLS credential, push one ADE shipment and one T&T query through an extracted client. Only after that spike should the team decide between port, rebuild, or buy. Scope the Laravel wrapper (service provider, config, facades, queue jobs for label generation) as a separate workstream so it is not conflated with GLS protocol risk.

Operational Impact

Maintenance. Assume you own it. With 1 star, 0 dependents, and no evident upstream momentum, there will be no security patches, no PHP 8 compatibility fixes, and no responses to GLS API changes. Any adopted code becomes an internal fork with an internal owner and an internal upgrade obligation — budget for it explicitly or the integration silently rots.

Support. Effectively none. No community to escalate to, no vendor SLA, and GLS support will not troubleshoot a third-party Symfony 2 bundle. Support burden shifts entirely to the adopting team, who must be able to read the GLS API documentation directly to diagnose failures.

Scaling. The bundle imposes no meaningful scaling ceiling itself, but the surrounding concerns do: GLS ADE label creation is typically a synchronous, rate-limited call and should be moved to queued jobs with retry/backoff; T&T polling should be cached and, where GLS supports it, replaced with webhook or push updates. Label generation volume, batch shipment manifests, and peak-season order spikes are the capacity planning drivers, not the package.

Failure modes. Most likely failure is silent protocol drift: GLS changes an ADE schema or endpoint, the unmaintained client sends a now-invalid payload, and labels fail at the point of dispatch — a high-severity operational event for a fulfilment workflow. Secondary modes: authentication/credential rotation breaking a hardcoded flow, PHP runtime upgrades breaking unmaintained code, address or customs-field validation divergence producing rejected shipments, and tracking status mapping becoming inaccurate without any error surfacing. Instrument the integration with explicit alerting on GLS response codes and label-generation failure rates rather than relying on exception logs.

Ramp-up. Steep relative to the package's apparent simplicity. Engineers need three distinct competences: the GLS ADE and T&T domain (payload semantics, label formats, shipment lifecycle), legacy Symfony 2 idioms to read the source at all, and Laravel service-provider patterns to wrap it. With no documentation beyond the code, expect knowledge to concentrate in one or two engineers — a bus-factor risk worth mitigating through written runbooks and sandbox-based onboarding before this reaches production.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment