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

Single Action Resource Controllers For Laravel Laravel Package

clean-bandits/single-action-resource-controllers-for-laravel

Organize Laravel resourceful routes into single-action (invokable) controllers. This package gives each resource action—index, show, store, update, destroy—its own focused controller class, keeping your app clean, explicit, and easy to maintain.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for internal conventions. The package encodes a lightweight architectural standard (one controller per action, invokable/__invoke style) rather than shipping runtime business logic. The real decision is whether to standardize the convention at all — and if you do, whether to adopt a package or spend a sprint building an equivalent artisan generator in-house. At this scope, the "buy" cost is near zero and the "build" cost is also low, so the decision hinges on maintenance appetite, not capability.
  • Code organization and review policy. Single-action controllers make route-to-code mapping 1:1. That supports concrete PM-visible outcomes: smaller PRs, clearer ownership boundaries per action, easier per-action middleware/authorization policies, and fewer merge conflicts on large resource controllers. If your roadmap includes scaling the team or parallelizing feature work, this is a cheap enabler.
  • Onboarding and documentation investment. A consistent scaffold reduces time-to-first-PR for new engineers and contractors. This package is a codification of that scaffold — useful input to a "definition of done" or engineering handbook section.
  • Refactor sequencing. If you have legacy resource controllers that are growing too large, adopting this pattern is a low-risk incremental refactor. It gives you a target state to migrate toward without a big-bang rewrite, and it can be trialed on one module before being mandated.
  • Risk budgeting for dependencies. With 3 stars, 0 dependents, and a single-maintainer profile, this belongs in the "convenience tooling" risk tier, not "critical path." That framing supports a decision to adopt cautiously (dev-dependency, pilot module) rather than company-wide mandate.
  • Framework-native alternative evaluation. Laravel already offers invokable controller and resource-generation flags; part of the decision is whether this package's added ergonomics justify one more dependency over php artisan make:controller --invokable. A short spike answers this in hours.

When to Consider This Package

Consider it when:

  • Your team has already decided it wants single-action/invokable controllers (ADR-style, thin controllers, action-per-route) and needs a consistent generator so engineers don't hand-roll scaffolds differently.
  • You are greenfield or starting a new bounded module, where you can set the convention before legacy resource controllers accumulate.
  • You want the convention enforced by tooling rather than by code review, reducing reviewer load and nitpick churn.
  • The codebase is small-to-mid and Laravel-version-aligned with what the package supports; you can absorb a breaking change or drop the package without touching generated code.
  • You are willing to treat it as a dev-time scaffold dependency — generated controllers are yours and survive removal of the package.

Look elsewhere (or build in-house) when:

  • You are on a large existing codebase with deeply established resource-controller conventions; the migration cost dwarfs the benefit, and a mixed pattern is worse than a consistent imperfect one.
  • Laravel's native --invokable / --resource generator flags already cover most of the ergonomics — verify this first; the delta may be too small to justify a third-party dependency.
  • You need guaranteed maintenance, security responsiveness, or vendor support. Low stars and zero dependents mean little battle-testing and no community safety net; the release metadata should be verified, not trusted at face value.
  • Your architecture needs go beyond a generator — domain layers, CQRS-style command/handler separation, or richer action pipelines. In that case evaluate broader architectural packages or an internal convention with tests.
  • Your dependency policy requires proven adoption or an internal fork owner before approving new packages.

How to Pitch It (Stakeholders)

For executives (30 seconds): This is a small, free, MIT-licensed developer-convenience package that standardizes how we write web endpoint code in Laravel — one small, single-purpose class per endpoint instead of one large class per feature. It doesn't touch customer-facing behavior. The upside is faster onboarding and easier code review; the downside is negligible because the code it generates belongs to us and keeps working even if we drop the package. Recommendation: pilot it on one new module, no company-wide mandate.

For engineering leadership: The decision is a convention decision, not a technology bet. Adopt it only if we're committing to single-action controllers; otherwise it adds a dependency for no standard to enforce. It's a dev-time scaffold, trivially reversible, and replaceable by an internal artisan command if maintenance lags. Low risk tier — but low adoption (3 stars, no dependents) means we own the upgrade path, so keep it out of production runtime paths and pin the version.

For the engineering team: Use it to stop arguing about controller shape in review. One action, one class, one route. If the generator doesn't fit our style, we fork it or write our own in a day — the generated output is ours either way.

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.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log