- Which Laravel versions does Cruddy support?
- Cruddy targets Laravel 4.0 through 4.2 on PHP 5.x. Its only release is dated December 2014, which predates Laravel 5.0, so unmodified operation on Laravel 5 through 11 is unlikely. Composer resolution against modern illuminate/* constraints will typically conflict out before installation even starts.
- How do I install kalnoy/cruddy with Composer?
- On a legacy Laravel 4.2 project you would require kalnoy/cruddy and register its service provider, then extend the Cruddy controller per resource. There is no supported install path for Laravel 5 or later, and installing on PHP 8 is expected to fail on removed helpers and concrete Validator type hints. Treat any installation outside Laravel 4.2 as a fork-and-port project rather than a Composer integration.
- Is Cruddy still maintained?
- No. It has a single release from 2014-12-26, one maintainer, zero dependents, no CVE channel, and no community fork of note. Abandoned does not automatically mean vulnerable, but adopting it makes your team the maintainer from day one. You need a named owner and an escalation path before it touches production.
- Is Cruddy safe to use in production?
- CRUD generators of this vintage commonly call $model->fill(Input::all()) without $fillable or $guarded discipline, and often omit policy checks, leaving generated endpoints effectively role-less. Sort and filter clauses are frequently built directly from request parameters, which is an injection and data-exposure risk. Verify mass assignment protection, authorization coverage, and column whitelisting before anything internet-facing is deployed, and assume authorization is entirely the host application's responsibility.
- How do I define fields, columns, and filters in Cruddy?
- You declare columns, fields, validation rules, filters, and sortable attributes per model on a Cruddy controller using a fluent API. Cruddy then renders index, create, edit, and delete screens over the Eloquent model, including belongs-to and many-to-many rendering. The idiom is low-magic controller convention, with no route-model binding, FormRequests, policies, or API resources.
- Does Cruddy work with Laravel 11 or PHP 8?
- Expect hard breaks rather than warnings. Known incompatibilities include the Form and Html helpers since extracted to laravelcollective/html, the Input facade, concrete Illuminate\Validation\Validator type hints, lists() and array_get helpers, and changed Blade escaping semantics. PHP 8.2 dynamic-property deprecations and removed helpers are likely to surface as errors, so modernizing is a rewrite rather than a patch.
- What are good alternatives to Cruddy for Laravel admin panels?
- For current Laravel versions, evaluate actively maintained options such as Filament, Laravel Nova, Backpack for Laravel, or Orchid, all of which support modern PHP and current framework releases. A hand-rolled resource controller plus Blade or Livewire is also reasonable for small internal tools. Use Cruddy as a ready-made requirements checklist for fields, filters, sorting, and authorization, not as a production dependency.
- Does Cruddy handle validation and relationships like belongsTo and many-to-many?
- Yes, by 2014 standards. It lets you declare validation rules on the controller and renders belongs-to and many-to-many relationships in generated forms and lists. However, it uses Laravel 4 era Validator type hints and helpers, so replacing that with FormRequests and policies is a rewrite of the internals.
- How do I test a Cruddy-generated admin panel?
- Do not rely on the package's own test suite as a safety net; first verify whether any tests exist and run at all on your target stack. If you fork it, write feature tests around the generated endpoints covering authorization, mass assignment, and sort and filter column whitelisting. Those three areas are where vintage CRUD generators most often fail quietly.
- How much effort is it to fork and modernize Cruddy for current Laravel?
- Budget it as a rewrite of the internals, not as an integration. You would replace the Form and Html helpers, the Input facade, concrete Validator type hints, and removed helpers, fix Blade escaping, and add route-model binding, FormRequests, policies, middleware groups, and typed properties. At that point Cruddy is a specification for your own admin layer rather than a dependency, so assign a named owner before committing.