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

Crud Generator Laravel Package

jordillonch/crud-generator

A Laravel CRUD generator that scaffolds models, controllers, views, and routes from database tables, helping you quickly build admin panels and data-management interfaces with less repetitive boilerplate code.

View on GitHub
Deep Wiki
Context7

Getting Started

First step: verify you can install it — you can't, on Laravel. Before anything else, run composer require jordillonch/crud-generator and read the failure. You'll get a resolution error because the package's composer.json targets symfony/symfony 2.x (plus Doctrine, Twig, KnpPaginatorBundle, and sensio/framework-extra-bundle), all of which conflict with Laravel 10/11's php: ^8.1 and Symfony 6/7 component constraints. That error is the correct outcome — it stops you from building a shim around a bundle that has no place in a Laravel kernel.

Where to look first. Clone the repo and open two things: the generator Command class (the class in Command/ that does the scaffolding) and the Resources/skeleton/ templates it copies. Those two files tell you the entire information architecture — what a generated list view looks like (columns, pagination controls, filter row), what a generated form looks like (field widgets per column type), and how translations are wired. That is the only durable asset in the package.

The realistic first use case. You are a Laravel developer, so your first "use case" is a read, not a run:

  1. Read the generator command to see how it maps DB column types → form widgets and list columns.
  2. Read the skeleton templates to see the list/detail/edit view shapes.
  3. Decide whether you need to build anything at all — Filament, Laravel Nova, or blueprint/infyom/laravel-generator already cover this ground with active maintenance.

The only legitimate install path is a brownfield Symfony 2.8 app in maintenance-only mode: register the bundle in AppKernel::registerBundles(), import its routing, configure Doctrine entities, then invoke its generator command against an existing entity. If you do not have that estate, stop here and treat the repo as a design reference.

Implementation Patterns

Pattern 1 — Legacy Symfony2 scaffolding (the only runtime pattern). The bundle's happy path is: define a Doctrine entity → run the bundle's CRUD command → it emits a controller, a Symfony Form type, Twig list/show/new/edit templates, and translation entries. You then customize the generated files. Day-to-day, this is a one-shot generator; you do not depend on it at request time.

Pattern 2 — Pattern harvest → Laravel native generator. This is the recommended path for a Laravel developer. Extract the view-shape decisions and reimplement as an Artisan command with published stubs. Map every layer:

Generator concern Symfony2 source Laravel target
Persistence Doctrine annotations Eloquent model + $casts
Forms/validation Symfony Form component FormRequest + Blade components
Templates Twig Blade + published stubs
Pagination KnpPaginatorBundle LengthAwarePaginator
i18n Symfony Translator, XLIFF lang/*.php + __()
Routing YAML + @Route annotations routes/web.php
UI Bootstrap 2.2.2 Bootstrap 5 / Tailwind

Pattern 3 — Copy the feature checklist, not the code. The package's feature set (paginated list, filterable columns, translatable labels, auto-generated forms) is a legitimate acceptance-criteria list when evaluating Filament or a thin in-house generator. Use it to score candidates; do not use it to justify a port.

Pattern 4 — If you insist on a port. Scope it as a greenfield package: a single Artisan command with --model, --fields, --with-filter flags, publishable stubs, and golden-file snapshot tests to catch stub drift in CI. Budget days, not hours, and expect to own it entirely — you inherit no test suite or maintenance capacity from upstream.

Gotchas and Tips

  • Composer failure is expected, not a bug to work around. Do not vendor, patch in place, or attempt to shim the bundle registry. The bundle contract (Kernel, compiler passes, @Template annotations) has no Laravel equivalent.
  • Bootstrap 2.2.2 output is unsupported and will fail design review. It predates the v3 grid and has none of the accessibility/responsive expectations a modern UI requires. Treat generated markup as a wireframe, never a baseline.
  • Filter-to-query mapping is an injection risk. Filter implementations of this era commonly concatenate user input into WHERE clauses. If you port controller logic verbatim, replace it with bound parameters and an allowlist of filterable columns. This is the single most important thing to audit before shipping anything derived from this code.
  • No upstream notifications. Zero dependents and an 83-star, single-maintainer repo mean no CVE alerts and no downstream bug discovery. Any disclosed issue in the Symfony 2.x or Bootstrap 2.2.2 lineage will remain unpatched. Watch your own CI, not upstream.
  • Translation key collisions. Generated keys will clash if merged into an existing lang/ namespace. Namespace them on emission (e.g. crud.<entity>.*) and check for duplicates at port time.
  • Extension point (legacy only). Symfony2 bundles allow template overrides via app-relative resource paths (app/Resources/CrudGeneratorBundle/...). This works, but it deepens your coupling to an EOL stack — avoid unless the app is frozen and you have no upgrade budget.
  • The opportunity score is not a reason to adopt. The 7.71 opportunity score measures durable demand for CRUD scaffolding; the 2.78 quality score accurately reflects this implementation. Do not conflate the two in a build-vs-buy decision.
  • Debugging heuristic. If something "almost works," it is almost certainly a partial port masking a fatal incompatibility. Stop and re-evaluate against a maintained Laravel-native option (Filament, Nova, Backpack) rather than chasing compatibility.
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.
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk