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

Rest Laravel Package

friendsofsymfony/rest

FOSRestBundle provides tools for rapidly building RESTful APIs with Symfony, including format handling, view listeners, routing conventions, and request body decoding. It simplifies controller setup for JSON, XML, and other response formats while staying flexible and configurable.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. This is the wrong platform. friendsofsymfony/rest is an archived, pre-1.0 Symfony 2.x-era helper (the direct ancestor of FOSRestBundle), built against Symfony's HttpFoundation, event dispatcher, kernel, and config conventions. It has no Laravel service provider, no middleware or router integration, no container bindings, and no compatibility with Laravel's request lifecycle, exception handler, or Eloquent/API-resource serialization. For a Laravel product the architecture fit is effectively zero — it cannot plug into the places Laravel expects API plumbing to live. A TPM should classify this as a scope mismatch first, a quality problem second. The name invites confusion; the substance does not.

Integration feasibility. Very low, and the surrounding signals compound it:

  • Archived repository with last release 2013-10-12 — no security patching, no PHP 7/8 support, no PSR/modern-Composer alignment.
  • 0 dependents, ~51 stars — no real-world validation, no ecosystem of answers, no third-party integrations, no maintainer response path.
  • Score 0.4025 with opportunity 14.51 — read the opportunity number as replacement/remediation opportunity, not an adoption signal. It is a flag on an unmanaged dependency, not an endorsement.
  • Description itself says deprecated. That is the vendor telling you not to build on it.

The only path that isn't disqualified outright is maintaining an existing Symfony 2.x install in a frozen, trusted-input-only context, with an owned fork and a migration ticket. That is a legacy-debt scenario, not an adoption scenario.

Technical risk. High and asymmetric. Direct integration would introduce: abandoned code in the dependency graph; stale transitive constraints that conflict with modern Composer resolution; obsolete PHP/Symfony version requirements that can block framework upgrades; event-dispatcher and autoloading assumptions that don't map to Laravel; unpatched security surface with no upstream fix path; and hidden coupling that makes later decommissioning more expensive. The "benefit" — format negotiation, body decoding, view rendering, exception-to-HTTP mapping, versioning helpers — is now table stakes in Laravel's native HTTP layer at zero marginal cost.

Key questions for the TPM to ask.

  • Does any application in our portfolio actually depend on this, and if so, is it a live Symfony 2.x service?
  • What REST behavior do we need that Laravel routing, middleware, form requests, API resources, and centralized exception rendering do not already provide?
  • If legacy usage exists, who owns it, what is the fork/patch budget, and what is the security and compliance exposure of carrying a 2013 dependency?
  • Is the discovery of this package a symptom of missing dependency-governance controls (no gate on archived/zero-dependent packages)?
  • Can the desired API conventions be expressed as a written standard and implemented natively, making the package unnecessary?
  • What is the migration cost versus the carry cost over the remaining service life?

Leverage recommendation. Do not put this in the dependency graph. Leverage it as (a) reference material for API conventions — its listener model is a clean articulation of format negotiation, body decoding, view shaping, and normalized errors; (b) a governance trigger to codify a policy that archived, zero-dependent, decade-stale packages are blocked by default; and (c) a roadmap input for a standards-and-error-contract workstream.

Integration Approach

Stack fit. Not a fit for Laravel. The Laravel-native equivalents are unambiguous and should be the documented standard:

Package concept Laravel-native replacement
Format negotiation (Accept) Middleware + Accept handling; response()->json(); content-type negotiation middleware
View listener / view layer API Resources (JsonResource / ResourceCollection)
Body listener / request decoding Form Requests + $request->json() / validated payloads
Exception → HTTP mapping Handler::render / renderable + a consistent error envelope
Routing/versioning helpers Route::prefix('v1') + route model binding; API versioning policy
Serialization/format output Resources, JsonResponse, optional Fractal/JSON:API layer if needed

The concepts are worth stealing; the code is not.

Migration path. If and only if a legacy Symfony 2.x service already depends on the package, use a strangler approach:

  1. Inventory every endpoint, bundle registration, listener, and serializer annotation affected.
  2. Put the legacy API behind a gateway so routing and client contracts are stable during cutover.
  3. Build replacement endpoints on Laravel (or current Symfony + API Platform), starting with low-traffic, low-risk endpoint groups.
  4. Migrate group by group behind the gateway, with contract tests at the seam (status codes, error envelope, content types).
  5. Decommission the old bundle and remove it from Composer; record the replacement pattern so it is not rediscovered.

If there is no existing usage, do not start one. Full stop.

Compatibility. Assume obsolete PHP and Symfony constraints, likely Composer resolution conflicts, no support for Laravel lifecycle hooks, and no security release path. Any spike should be time-boxed and explicitly framed as a compatibility investigation, never a delivery path. Do not let a passing proof-of-concept become an implicit approval to adopt.

Sequencing for the TPM.

  1. Confirm usage across the portfolio before spending anything further — this is a one-day question, not a project.
  2. Decide policy: archived + zero-dependent + stale ⇒ blocked by default, with a documented exception process.
  3. Publish the API contract standard (error envelope, status code mapping, content negotiation, versioning) as a one-pager — independent of this package.
  4. Fund remediation, not a fork, if legacy usage is confirmed; scope migration by endpoint group.
  5. Log discovered instances as tech debt with an owner and a target date, and add a dependency-scanning control to catch the next one earlier.

Operational Impact

Maintenance. High if retained. The package is archived, last shipped in 2013, and has negligible adoption. Any production use implies internal ownership of unmaintained code: patching, security review, and version-drift management against future PHP/Laravel upgrades. That is a permanent tax on a component that yields no differentiating capability.

Support. Effectively none. No upstream maintainer path, no LTS alignment, no community answer ecosystem (zero dependents), no expectation of bug fixes. A TPM should not write an SLA around this dependency, and should not let it sit implicitly inside someone else's SLA either.

Scaling. The library itself is unlikely to be the throughput bottleneck, but the integration patterns and stale dependencies create operational drag: harder upgrades, weaker observability, slower onboarding, and more fragile content negotiation. Scaling problems should be solved in the application, routing, caching, and observability layers — not by preserving this package.

Failure modes to plan for.

  • Composer dependency conflicts that block framework or PHP upgrades.
  • Runtime incompatibility with current PHP versions.
  • Event-dispatcher and autoload assumptions that don't hold outside legacy Symfony.
  • Content-negotiation and exception-mapping regressions during partial migrations.
  • Unpatched security exposure with no vendor remedy.
  • Hidden coupling that makes decommissioning costlier the longer it lives.

Ramp-up. Low value, high cost. For Laravel teams the package teaches nothing transferable — the idioms are wrong and the framework already solves the same problems. For teams on legacy Symfony it requires learning obsolete conventions, an abandoned listener model, and stale constraints. The productive ramp-up is in the replacement (Laravel resources/middleware/form requests, or FOSRestBundle/API Platform on Symfony), not in this repository.

Bottom line for the TPM. Do not adopt; no budget line for adoption. Use it as reference material to define an API standard, as a trigger to tighten dependency governance, and — where it already exists — as a remediation item with an owner, a migration estimate, and a date. The durable value is the checklist, not the code.

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