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 Bundle Laravel Package

whatwedo/crud-bundle

whatwedo/crud-bundle generates full CRUD interfaces for your Doctrine entities from simple configuration. Scaffold list, create, edit, and delete views with built-in filtering, sorting, pagination, and access control, so you can ship admin backends and data management screens faster.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The first and most important finding is a stack mismatch that must be resolved before any other evaluation: whatwedo/CrudBundle is a Symfony bundle, not a Laravel package. It is registered through the Symfony kernel (AppKernel/bundles.php), configured via the Symfony DI container, and depends on Symfony routing, the event dispatcher, Doctrine ORM entity metadata, and (almost certainly) Twig for rendering. Nothing about it is Laravel-native — no service providers, no facades, no Eloquent, no Blade. The package name in the brief and the repository name in the source are in direct conflict, and for a Laravel-targeted decision the honest answer is that architecture fit is poor to non-existent. If the intended host application is actually Symfony, the fit improves substantially, but only for legacy Symfony 2.8/3.x-era codebases.

Integration feasibility. The last release is October 2017 — roughly eight years stale. A bundle of that vintage will typically declare php: ^5.5|^7.0 and symfony/symfony: ~2.8|~3.0 constraints, which are not installable alongside PHP 8.2+ and Symfony 6/7 without a fork. Modern Composer will refuse the dependency resolution outright, so integration is not a configuration exercise; it is a porting project. Composer's --ignore-platform-reqs is not a mitigation here — the runtime API surface (ContainerAware, getContainer(), possibly removed Doctrine EntityManager methods, Twig 1.x APIs) is incompatible, not merely gated. Feasibility is therefore conditional and low: viable only as a read-only reference implementation for ideas, not as an installable dependency.

Technical risk. High across every axis:

  • Abandonment risk (critical). Nine stars and zero dependents indicate essentially no production usage and no community to catch regressions. There is no evidence of a maintained release cadence, CI, or a security disclosure process.
  • Security/patch risk (critical). An unmaintained 2017 PHP dependency tree will pull transitive packages with known CVEs. There is no upgrade path because there is no maintainer to publish one.
  • Correctness risk (medium). Rapid-prototyping CRUD generators produce working scaffolds, not production-grade code. Auto-generated controllers typically lack authorization granularity, mass-assignment protection, input validation breadth, and pagination/filtering hardening.
  • Knowledge risk (medium). The opportunity score of 23.22 corroborates the popularity signal: there is almost no tutorial, blog, or Stack Overflow corpus, so every problem becomes first-principles debugging.
  • Legal risk (low). MIT license is permissive and fork-friendly, which is the one genuinely favourable factor.

Key questions.

  1. Is the target application Laravel or Symfony? If Laravel, this evaluation terminates at "not applicable" — the remainder is only relevant to a Symfony legacy context.
  2. Which Symfony and PHP version ranges are declared in composer.json, and does a fork to Symfony 6/7 + PHP 8.2 look like days or weeks of work?
  3. Is the bundle runtime-driven (configures generic controllers) or code-generating (writes files into the app)? Code generation is far more salvageable than a tight container coupling.
  4. How deeply is it bound to Doctrine ORM versus being persistence-agnostic? Doctrine 2 → 3 removed APIs will dominate any port.
  5. Are there open issues/PRs and when was the last commit, as distinct from the last tagged release?
  6. What is the actual prototype scope — a two-week internal spike, or a foundation others will build on? The answer changes the risk calculus entirely.
  7. What did the team reject? EasyAdmin, SonataAdmin, API Platform, and MakerBundle all cover this ground with active maintenance; the burden of proof is on the stale option.

Integration Approach

Stack fit. None for Laravel. For a Symfony shop, fit is limited to legacy 2.8/3.x applications already on Doctrine and Twig; even there, it competes with first-party symfony/maker-bundle CRUD generation, which is maintained and produces idiomatic, ownable code. The strategic recommendation is to not integrate this package and instead capture the underlying requirement — "scaffold CRUD quickly for a prototype" — against maintained alternatives.

Migration path. There is no credible upgrade path into the package; the only realistic path is out of it. If the organisation already has a 2017-era Symfony application using this bundle, the migration is: (1) freeze and inventory the entities and routes it serves, (2) replace generated controllers with explicit, tested controllers or with EasyAdmin/API Platform, (3) delete the bundle and its stale transitive dependencies, (4) run a dependency audit before and after to prove the CVE reduction. Plan this as a scoped, time-boxed removal, not a modernization of the bundle itself.

Compatibility. Assume incompatible with PHP ≥ 7.4 and Symfony ≥ 4. A compatibility spike should be strictly read-only: install into a disposable symfony/skeleton at the version pinned by its composer.json, and only then determine whether a fork is cheap. Do not attempt to install it into the current production application to "see what happens" — dependency resolution failure is the likely outcome, and platform-req bypasses invite silent runtime breakage.

Sequencing. Run a two-day timeboxed spike in an isolated container, in parallel with a one-day evaluation of MakerBundle/EasyAdmin (Symfony) or Filament/Nova/Backpack (Laravel). Compare on: time-to-first-working-screen, generated-code quality, test story, and maintenance owner. Decide at the end of the spike and record the decision. If the spike is inconclusive, the default is no — the asymmetry of a stale dependency in a production path is not worth a marginal prototyping gain.

Operational Impact

Maintenance. The organisation becomes the de facto maintainer on day one. Any PHP or Symfony upgrade in the host application forces a corresponding patch to a fork you now own. Budget for a named owner and a quarterly triage; without that, the fork silently rots and becomes a harder version of the problem you started with.

Support. No vendor, no SLA, no active maintainer, and a negligible community. Internal engineers will be the only support channel, and the pool of people who have ever seen this bundle is effectively the nine stargazers. Onboarding cost is high relative to the size of the codebase because there is no prior art to consult.

Scaling. Prototyping CRUD scaffolds rarely encode the things that matter at scale: N+1 query avoidance, pagination on large tables, index-aware filtering, authorization per field, audit logging, and API versioning. Expect to rewrite the hot paths once traffic arrives. The bundle does not create a scaling ceiling so much as a scaling rewrite.

Failure modes.

  • Dependency deadlock — a routine composer update in the host app becomes unresolvable because the bundle pins ancient versions.
  • Silent security debt — no advisory feed exists for the package itself, so CVE exposure appears only in transitive-dependency scans, if those are even run.
  • Fork divergence — local patches accumulate with no upstream to rebase onto.
  • Knowledge evaporation — the one engineer who wired it up leaves; nobody can safely modify generated controllers.
  • Scope creep — "prototype" CRUD becomes the production admin surface, and the rewrite is deferred indefinitely.

Ramp-up. Learning the bundle itself is perhaps a day — it is small. Ramp-up on the consequences (a pinned legacy toolchain, a fork to maintain, an unfamiliar 2017 idiom set) is measured in weeks and lands on whoever inherits the codebase. That asymmetry — trivial to adopt, expensive to escape — is the defining operational characteristic and the strongest argument for declining the dependency in favour of maintained scaffolding that emits code the team fully owns.

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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource