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

Technical Evaluation

Architecture fit — the headline finding is that the package metadata is wrong. The repository is jordillonch/CrudGeneratorBundle, a Symfony2 bundle (bundle name, CrudGeneratorBundle namespace, AppKernel::registerBundles() registration, Doctrine/Twig/KnpPaginator dependencies, Bootstrap 2.2.2 output). The supplied description.md describes it as a Laravel package with Artisan commands and Blade views. That description is fabricated or auto-generated and does not match the artifact. For a TPM this is the first diligence gate: if the summary of what a dependency is cannot be trusted, nothing downstream of it can be trusted either.

Structurally, a Symfony bundle is not a portable library. It binds to the full-stack kernel, ships DI compiler passes, resolves resources via @CrudGenerator/Resources/... paths, and typically relies on sensio/framework-extra-bundle annotations. Laravel consumes discrete Symfony components (HttpFoundation, Console, Routing), never bundles. There is no install path, no composer require that yields working behavior, and no service-provider equivalent.

Integration feasibility — reference material only. The only realistic use is as a read-only design reference: what a generated CRUD screen contains (paginated list, column filters, translatable labels, form scaffolding, detail/edit views). Every implementation layer must be swapped, not adapted — Doctrine→Eloquent, Twig→Blade, Symfony Form→FormRequest + Blade components, KnpPaginator→LengthAwarePaginator, XLIFF→lang/*.php, Bootstrap 2.2.2→Bootstrap 5/Tailwind, annotation routes→routes/web.php. What survives is the information architecture, and that is worth roughly a day of reading.

Technical risk — high and one-directional. Symfony 2.x went end-of-life in November 2018 with no security patching since; Bootstrap 2.2.2 predates the v3 grid rewrite and fails modern accessibility and responsive expectations. The code targets PHP 5.x–7.0 and will not satisfy Laravel 10/11's php: ^8.1 constraint. Composer will refuse to resolve — the benign failure mode, because it prevents a half-ported bundle from appearing to work. Secondary risks: single maintainer, no visible CI or test suite, zero downstream dependents meaning zero compatibility validation, and a generated-output layer whose filter implementations in this era commonly concatenate user input into WHERE clauses.

Key questions.

  1. What job are we actually buying? If it is CRUD scaffolding in Laravel, the market already answers it — Filament, Nova, Backpack, infyom/laravel-generator, blueprint. This package offers no differentiated capability, so there is no build-vs-buy case, only a build-vs-reference case.
  2. Is there a legacy Symfony 2.8 estate? That is the sole defensible scenario, and even there, adding an 83-star zero-dependent generator to an unsupported stack compounds risk instead of reducing it.
  3. Does the generator run at dev-time or request-time? Dev-time means the emitted artifact is the liability; request-time means it is a production incident waiting to happen.
  4. Why does opportunity (7.71) diverge so far from quality (2.78)? The opportunity score measures demand for the problem space, not the viability of the implementation. Conflating the two is how teams adopt abandoned packages.
  5. Who owns the fork and its patches? With zero dependents there is no upstream triage and no community discovery of defects; the moment we adopt, we own it entirely.

Integration Approach

Stack fit — no. PHP is the only shared surface. Our dependency graph (Laravel skeleton, PHP 8.x, Symfony 6/7 components) and this package's graph (symfony/symfony 2.x components, DoctrineBundle, TwigBundle, FrameworkExtraBundle) are mutually exclusive. The correct posture is to record the incompatibility and move on rather than invest in any bridge.

Migration path — two options, one recommended.

  • Option A (recommended): reference-only. Have an engineer read the generator templates and the filter/pagination controller logic, extract the view-shape and acceptance-criteria decisions, then build a native Artisan command with published stubs if — and only if — scaffolding toil is measurably recurring. Cost: days, no production dependency, no EOL exposure.
  • Option B (not recommended): fork and rewrite. Replace Twig with Blade, Doctrine with Eloquent, Symfony Forms with FormRequest, and repackage as a service provider plus Artisan command. This is greenfield work wearing an existing package's name — it inherits no tests, no maintainers, and no upgrade path, while carrying the abandonment narrative.

Explicitly out of scope: vendoring, in-place patching, bundle-shim layers, or any attempt to run the Symfony2 generator under Laravel.

Compatibility matrix — every row is a replacement, not an adaptation:

Concern Package (Symfony2) Our target
Routing YAML + annotations routes/web.php, attribute routes
Persistence Doctrine ORM + annotations Eloquent + attributes
Templating Twig Blade
Forms/validation Symfony Form FormRequest + Blade components
Pagination KnpPaginatorBundle LengthAwarePaginator
i18n Symfony Translator, XLIFF lang/*.php + __()
UI Bootstrap 2.2.2 Bootstrap 5 / Tailwind
DI Compiler passes Service providers, container bindings

Sequencing (Option A).

  1. Artifact audit — catalogue exactly what the generator emits. This is the only durable asset and the only thing worth the reading time.
  2. Demand check — confirm scaffolding toil is recurring across teams, not a one-off annoyance. If teams already run Filament or Nova, stop here and close the ticket.
  3. Stub extraction — port output shapes to Blade + Eloquent stubs, modernized markup, accessible form controls.
  4. Generator implementation — one Artisan command with --model, --fields, --with-filter flags; publishable stubs so teams can override without forking.
  5. Translation pipeline — emit lang/en/*.php keys, never XLIFF.
  6. Filter safety review — bound parameters only, explicit allowlist of filterable columns. Generators that interpolate request input into query builders are a recurring injection source and this one offers no evidence of guarding against it.
  7. Golden-file tests — snapshot generated output in CI so stub drift after framework upgrades is caught mechanically.

Operational Impact

Maintenance. Upstream is effectively frozen. Eighty-three stars, zero dependents, no contributor base, no downstream bug discovery, no security response. Anything adopted becomes entirely owned internal surface, including the Symfony2 idioms embedded in it that no current team member will enjoy maintaining. The MIT license is permissive and not the problem; the abandonment is.

Support. No vendor, no SLA, no issue triage, bus factor of one. Escalation is internal-only by definition. Any CVE in the Symfony 2.x or Bootstrap 2.2.2 lineage stays unpatched indefinitely — a standing audit finding rather than an incident to be fixed later. For a TPM this converts a "free" dependency into an unpriced liability.

Scaling. One favorable property: the generator is dev-time and does not enter the request path. The generated output is the concern. Filter implementations of this vintage commonly build queries by string concatenation, offset pagination degrades sharply past roughly 10⁵ rows, and list views routinely trigger N+1 relation loads. If those patterns are copied into a Laravel port they will be rewritten at the first performance incident. Treat any generated screen as a scaffold, never as a production baseline.

Failure modes.

  • Composer resolution failure against PHP 8.x / Laravel 10–11 — expected, immediate, benign
  • Fatal boot errors if any bundle-shim is attempted (kernel coupling)
  • Generated code drift after framework upgrades (removed helpers, deprecated base classes)
  • Bootstrap 2 markup breaking against any modern CSS reset or grid
  • Translation key collisions when merged into an existing lang namespace
  • Unsafe filter-to-query mapping inherited verbatim from the original templates
  • Silent abandonment — breakage surfaces only in our own CI, with no upstream signal

Ramp-up. High friction for Laravel engineers: the Symfony2 bundle model, Doctrine annotation mapping, and annotation-driven routing are unfamiliar and rarely encountered now. Symfony2 veterans read it easily, but that population is thin and shrinking, and the knowledge transfers poorly to Symfony 6/7 (annotations→attributes, bundle-less architecture). Realistic estimate: 2–4 days for a mid-level Laravel engineer to competently port a template layer, versus 2–3 hours to evaluate a maintained Laravel-native generator and get further.

Bottom line for the roadmap. The quality score (2.78) describes the artifact accurately; the opportunity score (7.71) describes genuine, durable demand for CRUD scaffolding but attributes it to the wrong vehicle. Recommend closing as not adoptable on the Laravel track, retaining it as a read-only design reference for list/filter view shapes, and redirecting any funded effort toward evaluating a maintained framework-native generator against our design system. Separately, flag the mismatch between the supplied package description and the actual repository — if this metadata feeds automated sourcing or scoring, that pipeline needs a correctness check before its output informs another build-vs-buy decision.

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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels