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

Controller Util Laravel Package

zenstruck/controller-util

Symfony controller utilities that cut boilerplate: traits for entity lookups with automatic 404 handling, flash messages, redirects, form processing, and template rendering, keeping your controllers small, consistent, and focused on the action itself.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy (adopt): Supports a clear "don't adopt" call. The package is archived (last release 2015-12-15), has 40 stars and 0 dependents, and targets Symfony 2.x / PHP 5-era stacks. Its strategic value is as a design reference, not a dependency.
  • Controller-layer architecture: Its core idea — have controllers return small, framework-agnostic view/response objects (template, redirect, route-redirect) and convert them to real HTTP responses in a listener — is the same pattern we'd weigh against native abstractions in Laravel (Responsable, API Resources, view()/redirect()) and Symfony (AbstractController, #[Template], HttpFoundation responses).
  • Platform modernization / dependency hygiene: A concrete line item for a legacy dependency inventory. It supports scheduling replacement or removal of abandoned packages rather than extending them, and gives a template for scoring others (last release date, archived flag, dependents, license).
  • Test strategy and CI cost: Decoupled view objects let controller actions be unit-tested without booting the kernel/HTTP stack — a lever for coverage targets and faster CI if we build an equivalent in-house.
  • Multi-format use cases: Rendering HTML, JSON, and redirects from the same action with minimal HTTP coupling is relevant to API-first/headless roadmap items — evaluate native options first, then borrow the pattern.
  • Intake/data-quality correction: This was requested as a "Laravel/PHP package," but it is Symfony2-only with no Laravel integration (no service provider, no Illuminate contracts). That mismatch supports tightening how packages are sourced and labeled before they reach backlog review.

When to Consider This Package

Consider it only if:

  • You still maintain a Symfony 2.x / PHP 5.x application where it is already a dependency and you need short-term continuity (pin the version, vendor it, monitor for exposure).
  • You want a compact, MIT-licensed reference implementation of controller/HTTP decoupling to harvest the pattern from — not to install.
  • You need multiple response formats from one action and cannot use the framework's native abstractions (rare on any supported stack).

Look elsewhere when:

  • You are on Laravel. This package does not apply: no Laravel service provider, no Laravel contracts, no modern PHP support. Use Responsable, API Resources, view(), redirect(), Inertia, or a small internal response-builder instead.
  • You are on Symfony 5/6/7. Use AbstractController, #[Template], redirect helpers, and kernel view listeners — all first-party and maintained.
  • Security or support requirements apply. Archived, no release in roughly a decade, no downstream dependents, and incompatible with supported PHP versions means no security response path.
  • You are greenfield. A thin in-house layer (one interface plus one listener, ~1 day) beats reviving a dead dependency and carries no supply-chain risk.

How to Pitch It (Stakeholders)

To executives: We recommend no purchase and no adoption. The package is abandoned, has negligible community traction (40 stars, zero dependents), and targets a framework generation we are moving off. There is no licensing cost, but also no support, no security patching, and no roadmap value. Treat this as a five-minute decision, not an initiative.

To engineering: Do not add this as a dependency. Extract the idea: controllers return framework-agnostic view objects; a single listener/adapter converts them to HTTP responses. That buys the same testability and multi-format benefits on supported stacks (Laravel Responsable/Resources or Symfony AbstractController), keeps us on maintained libraries, and costs about a day. Flag any existing Symfony2 codebase still depending on it for a removal ticket.

Bottom line: Low opportunity, low risk if ignored. Correct the package record to "Symfony2, archived" so it stops surfacing in Laravel/PHP evaluations, and if any team wants the pattern, budget an internal spike rather than a dependency review.

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.
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route