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

Simple Rest Crud Bundle Laravel Package

hessnatur/simple-rest-crud-bundle

A Symfony bundle that adds simple RESTful CRUD capabilities to your application, helping you scaffold create, read, update, and delete endpoints with minimal configuration. Lightweight and straightforward for basic resource management.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — poor, and there is a framework mismatch. The package is a Symfony 4 bundle (abstract classes plus services) built to scaffold REST CRUD endpoints on top of FOSRestBundle, JMS Serializer, and LexikFormFilterBundle. It is not a Laravel package. Laravel's ecosystem equivalents (Eloquent API Resources, FormRequest validation, spatie/laravel-query-builder, laravel/sanctum) occupy the same problem space with first-class support. Adopting this package in a Laravel codebase would require either (a) porting abstract classes and their Symfony service-container conventions, or (b) standing up a parallel Symfony application alongside Laravel. Neither is a defensible TPM decision. Even inside a Symfony shop, the bundle is a thin internal-abstraction layer, not a framework.

Integration feasibility — low. The bundle provides abstract base classes designed for inheritance, meaning consumers must structure their domain controllers/services to the vendor's assumptions. It leans on three third-party bundles, each with their own version constraints and deprecation timelines (FOSRestBundle is in maintenance mode and has been superseded in practice by API Platform and Symfony's own serializer/validator stack). Integration effort is dominated not by the package itself (1 star, 0 dependents suggests a handful of abstracts and services) but by wiring three interdependent legacy bundles — work you'd have to do anyway and would rather do against a maintained foundation.

Technical risk — high, concentrated in four areas.

  • Abandonment: 1 star, 0 dependents, no downstream usage signal. Effectively a public mirror of one company's internal scaffolding. No evidence of a maintainer commitment, roadmap, or issue triage.
  • EOL runtime: Symfony 4 reached end of life (4.4 in November 2023). Depending on it means inheriting unsupported framework versions and, transitively, unsupported PHP minor ranges.
  • Inheritance coupling: Abstract-class-based design is the least flexible extension mechanism; it forces your domain model into a hierarchy you don't control and complicates testing and refactoring.
  • Supply chain: Low download counts mean low scrutiny. A MIT-licensed package with near-zero usage is a code-review-everything dependency, not a trust-by-default one.

Key questions for the requester. (1) Is the target codebase actually Laravel, or is this a Symfony service being mislabeled in the request? That answer changes the recommendation entirely. (2) What specific boilerplate are you trying to eliminate — routing registration, pagination/filtering, serialization groups, or CRUD scaffolding? Most of that has a maintained answer. (3) If Symfony is confirmed, why not API Platform, which solves the same problem with a large community and an active release cadence? (4) Who owns maintenance if the upstream repo goes quiet — which, at 1 star, is the expected outcome?

Integration Approach

Stack fit — not viable as a Laravel dependency. Composer would install it, but the bundle's DependencyInjection extension, service definitions, and base classes assume a Symfony kernel and its bundle registration model. Laravel's service container, HTTP kernel, and routing are structurally different. There is no adapter layer and none is provided. Do not plan on composer require in a Laravel app.

Recommended path — treat it as a reference implementation, not a dependency. The realistic value here is architectural: the abstract classes encode an opinion about how to decompose CRUD endpoints (list/filter, read, create, update, delete) and where serialization, validation, and filtering belong. Read the source, extract the patterns you agree with, and implement them idiomatically in your own stack. This costs a day of review and yields zero dependency risk.

Compatibility matrix if Symfony is confirmed. Pin to the Symfony major the bundle targets; verify PHP version floors; confirm FOSRestBundle, JMS Serializer, and LexikFormFilterBundle version constraints are mutually satisfiable and still receive security patches. Expect this matrix to have no forward path — the bundle is unlikely to have been validated against Symfony 5/6/7.

Sequencing if someone insists on a trial. (1) Timebox a spike: clone, run the vendor's own example, measure how much of your domain must conform to the abstract contracts. (2) If conforming is cheap, fork the repo into your org's namespace and own it — do not depend on upstream. (3) Only then wire it behind a feature-flagged endpoint set. (4) Parallel-track the API Platform or Laravel-native implementation as the actual destination. My expectation is the spike terminates at step 1.

Migration off it, if already adopted. Because coupling is via inheritance, migration is a rewrite of the extending classes rather than a swap. Plan controller-by-controller extraction to native stack primitives, using contract tests against the existing HTTP surface so the API contract stays stable during the move.

Operational Impact

Maintenance — you will own it. With 1 star, 0 dependents, and no visible release activity, the correct operating assumption is that upstream is frozen. Budget for a permanent fork inside your org, a named code owner, and a standing dependency-review task against the three underlying bundles. That is a recurring cost disproportionate to the package's footprint.

Support — none. No community to escalate to, no Stack Overflow corpus, no security advisories routed to it. Internal engineers will debug the abstract classes from source every time. Onboarding cost is real: new hires must learn a bespoke hierarchy that has no public documentation and no transferable market value.

Scaling — neutral at the application layer, negative at the platform layer. The bundle doesn't meaningfully affect request throughput; it's scaffolding. The scaling risk is organizational: a pinned, EOL runtime inhibits PHP upgrades, which cascade into blocked security patching, blocked framework features, and eventually a forced-migration project. That migration is far more expensive when discovered under pressure than when planned.

Failure modes. (1) Silent abandonment — upstream goes dark, a transitive dependency ships a CVE, and you have no patched upgrade path. (2) Contract drift — the abstract classes change shape upstream in a way that breaks subclasses, with no semver discipline to signal it. (3) Bus factor of one — a single engineer understands the inherited hierarchy; their departure strands it. (4) Runtime rot — EOL Symfony blocks a PHP upgrade, which blocks an unrelated initiative, which surfaces the dependency's cost late and to the wrong stakeholder.

Ramp-up — high relative to value. Estimate two to three days for a competent Symfony engineer to fully understand the abstractions, plus ongoing context-switching for anyone raised on modern API tooling. Compare against roughly half a day to reach productivity with API Platform or Laravel's native resource/validation stack, both of which have extensive documentation and hiring-pool familiarity.

TPM recommendation. Do not adopt as a dependency in either a Laravel or a Symfony codebase. Score of 0.065 and 1 star reflect the real signal: this is an internal scaffolding layer published to satisfy a license obligation, not a product. Mine it for design ideas if the decomposition is appealing; otherwise select API Platform (Symfony) or Laravel-native primitives plus a query-builder package (Laravel). If the requester confirms a Laravel target, close the request on the framework-mismatch grounds alone and redirect to the equivalent Laravel libraries.

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.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle