- Can I install foodcheri/routific-bundle in a Laravel application?
- Not cleanly. Despite being listed among PHP packages, this is a Symfony bundle: it ships a RoutificBundle class, a DependencyInjection extension, and service definitions in YAML or XML, plus a hard dependency on symfony/framework-bundle and symfony/http-kernel. Laravel has no bundle registration concept, so installing it means pulling a parallel framework's kernel into your app just to satisfy autoloading. The practical alternative is forking the source and stripping the bundle scaffolding to reach the thin Routific client underneath.
- What does foodcheri/routific-bundle actually do?
- It wraps a Routific route optimization client in Symfony's service container so the optimizer can be injected wherever it is needed. API credentials are supplied through bundle configuration rather than hardcoded, and the bundle offers a simple abstraction over Routific route optimization calls. That is essentially the whole surface: submit visits and vehicles, then poll for an optimized solution.
- Which PHP and Laravel versions does this package support?
- The last release was 2017-04-14, so it targets the PHP 5.6 through 7.1 era and will likely pin Guzzle at ^5.0 or ^6.0. Modern Laravel requires Guzzle 7 and PHP 8.2 or newer, which Composer will treat as a conflict. Expect either a resolution failure or a downgrade chain that breaks the host application, and anticipate deprecation-level fatal errors on PHP 8.x from dynamic properties and implicit nullable parameters.
- How do I configure the Routific API token with this bundle?
- In Symfony you would set the token in the bundle's configuration tree, typically under a config/packages file, and the extension would inject it into the client service. In Laravel that mechanism does not exist, so there is no config publishing step and no service provider reading it. If you keep the client code, you would move the token to config/services.php and read it through the environment instead.
- Is foodcheri/routific-bundle still maintained?
- No. The package has zero stars, zero dependents, no CI badge, and no meaningful test suite, and its last release was in April 2017. It is a single-org artifact from a delivery startup's internal tooling, so the bus factor is effectively zero. There is no issue history to mine for known failure modes and nobody watching its transitive dependencies for CVEs.
- Does the bundle work with Guzzle 7 or Laravel's HTTP client?
- Almost certainly not. A package released in 2017 will encode Guzzle 5 or 6 idioms throughout its client wiring, and Guzzle 7 removed or changed several of those APIs. Laravel's HTTP client is a separate abstraction entirely and is not something the bundle was written against. Rewriting the transport against Laravel's Http facade is generally less work than forcing the old dependency through.
- How do I submit a delivery job and get optimized routes with Routific?
- Routific's API takes a set of visits and vehicles, accepts the job, and then requires polling until an optimized solution is available. This bundle exposes a thin abstraction over exactly those calls, but the endpoint shapes it assumes date from 2017. Before relying on any contract, verify the auth header format, the request payload schema, the polling semantics, and the error codes against a live sandbox account.
- Should I use this package or write my own Routific client?
- Writing your own is the recommended path. The Routific surface is small, and Laravel's HTTP client covers the transport in a few dozen lines, so the SDK value here is marginal. A roughly 150-line internal adapter is cheaper than auditing and maintaining a fork of an abandoned bundle across every PHP and Laravel upgrade.
- How would I test a Routific integration in Laravel?
- Keep the vendor behind an interface such as RouteOptimizer with an optimize method taking a request DTO and returning a result DTO, then implement a RoutificOptimizer behind it. That lets you fake the optimizer in tests and contract-test the real response shapes into fixtures. Capturing real responses as fixtures means Routific schema drift surfaces as a failing test instead of a silent production regression.
- What are the alternatives to foodcheri/routific-bundle?
- Check whether Routific publishes an official PHP SDK today and whether its current API version matches what this bundle assumes. If none exists, build a small internal package exposing Visit, Vehicle, and OptimizationJob DTOs plus a client that speaks the current API version. If the bundle is already wired into a branch, quarantine it behind the RouteOptimizer interface and treat it as a throwaway prototype rather than a dependency.