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

Request Controller Laravel Package

lorisleiva/request-controller

A Laravel package that lets Form Requests act as invokable controllers, combining validation, authorization, and request handling in a single class for cleaner single-action endpoints.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: The package is a narrow Laravel convenience: it lets a FormRequest carry both request validation/authorization and the endpoint action via invokable controller behavior. That fits small, single-purpose endpoints and reduces controller boilerplate. It is a poor fit for complex workflows, reusable domain services, or teams that enforce strict separation between transport validation and application actions. This is an architectural pattern choice, not foundational infrastructure.
  • Integration feasibility: Technically small and MIT-licensed, so integration is likely a Composer dependency plus changing route targets. However, the last release was 2020-11-15, with 27 stars and a low package score of 0.195. That signals limited adoption and no recent compatibility work. Feasibility depends entirely on the application’s Laravel/PHP version; modern Laravel versions are likely blocked without a fork or dependency override.
  • Technical risk: High. Primary risks are framework upgrade incompatibility, abandoned upstream maintenance, hidden framework behavior around validation/authorization resolution, and unclear support for route caching, middleware, route model binding, and exception handling. Low community usage means few public fixes or battle-tested edge cases. Request handling is sensitive enough that unmaintained behavior should not be adopted casually.
  • Key questions: Which Laravel and PHP versions are supported? What are the exact illuminate/* constraints? Does validation and authorization fire identically to native FormRequest injection? Are middleware, route model binding, route:list, route caching, and dependency injection preserved? Is the package forkable and testable under our CI? Does the boilerplate reduction justify a nonstandard pattern versus native invokable controllers with FormRequest injection?

Integration Approach

  • Stack fit: Laravel-only, and likely best suited to older Laravel majors. It is not appropriate for non-Laravel PHP stacks. If the application is on a modern Laravel release, treat compatibility as unproven until a spike passes.
  • Migration path: Do not mass-refactor controllers. Run a time-boxed compatibility spike in a disposable branch, install with exact version constraints, and convert one low-risk endpoint. If incompatible, replicate the pattern internally using native Laravel constructs rather than adopting the package. If the pattern proves valuable but the package does not, fork it under an internal namespace with owned tests.
  • Compatibility: Pin PHP and Laravel versions, inspect Composer constraints, and test validation errors, authorization failures, middleware, route model binding, route caching, route:list, exception rendering, and dependency injection. Add contract tests around the request lifecycle. Verify the package against the next planned Laravel upgrade before standardizing.
  • Sequencing: 1) inventory Laravel/PHP versions and candidate endpoints; 2) complete license, dependency, and security review; 3) run the compatibility spike; 4) pilot one to three simple endpoints with rollback; 5) test the upgrade path; 6) decide adopt, fork, or reject; 7) document the convention only if adopted.

Operational Impact

  • Maintenance: Effectively self-supported. No recent upstream release means an internal owner is required for compatibility patches, security review, and Laravel upgrades. MIT licensing permits a fork, but forking creates long-term maintenance cost. Low stars and low package score mean little community support to rely on.
  • Support: No vendor support and limited public documentation/community knowledge. Teams will depend on internal examples, code review standards, and tests. Support burden is small in code volume but disproportionate in upgrade risk.
  • Scaling: Runtime impact is likely negligible. Architectural scaling is the concern: co-locating validation and endpoint action can bloat request classes and blur transport versus domain responsibilities as endpoints grow. Route caching and middleware behavior must be validated before broad use.
  • Failure modes: Composer conflicts on Laravel/PHP upgrades; validation or authorization not firing as expected; route cache, middleware, or model-binding regressions; opaque debugging from framework magic; package abandonment; and divergence if forked. These are upgrade and operability failures more than runtime throughput failures.
  • Ramp-up: Low for Laravel developers to read a single endpoint; moderate to trust in production. The pattern is easy to imitate but nonstandard enough to require onboarding notes, examples, and review guardrails. TPM recommendation: reject for broad standardization; allow only a time-boxed pilot on legacy-compatible Laravel versions, otherwise use native Laravel constructs or an internally owned equivalent.
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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager