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

Entity Extend Bundle Laravel Package

wucdbm/entity-extend-bundle

Wucdbm EntityExtendBundle is a Symfony bundle for extending Doctrine entities with additional data without modifying their core classes. It helps organize reusable entity extensions, keep domain models clean, and manage custom fields or model add-ons more easily across your application.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. There is a fundamental framework mismatch that dominates every other consideration: this is a Symfony2 bundle, not a Laravel package. Bundles are Symfony's unit of modular extension and are registered through the Symfony kernel (AppKernel::registerBundles()), wired via Symfony's service container (XML/YAML service definitions), and depend on Symfony's event dispatcher, configuration tree (Configuration/Extension classes), and DoctrineBundle integration. Laravel has no equivalent bundle contract — it uses service providers, facades, and a different container. As-is, this package cannot be installed and booted inside a Laravel application without a compatibility shim, and no such shim exists. Any assessment framed as "Laravel/PHP package" must be corrected up front: this is a Symfony 2.x artifact.

Integration feasibility. The underlying capability — extending Doctrine2 entities — is genuinely relevant to PHP applications (including Laravel apps using Doctrine via laravel-doctrine). However, the implementation is bundle-coupled. Realistic integration options are: (1) fork and strip the bundle layer to extract the entity-extension mechanism as a framework-agnostic library; (2) reimplement the pattern natively; or (3) abandon it and use a maintained alternative (gedmo/doctrine-extensions, Doctrine inheritance strategies, or trait-based composition). Direct drop-in adoption is not feasible.

Technical risk. High, on multiple independent axes:

  • EOL platform. Symfony2 is end-of-life (2.8 LTS support ended November 2018). The bundle targets a framework no longer receiving security patches; any transitive dependency is likewise unmaintained.
  • Zero adoption signal. 0 stars, 0 dependents, no ecosystem validation. There is no evidence of production use, no issue history to mine for known failure modes, and no community to answer questions.
  • Naming/repo inconsistency. Package name (entity-extend-bundle) does not match repository name (PjEntityExtendBundle), suggesting a rename, a fork, or an internal project published without hygiene. This complicates provenance and supply-chain review.
  • Doctrine version drift. Doctrine2-era code will likely conflict with current Doctrine ORM/DBAL versions (attributes vs. annotations, metadata driver changes, EntityManager API shifts), creating upgrade friction even in a Symfony context.

Key questions for the maintainer / sponsor.

  • What is the actual extension mechanism — inheritance mapping, traits, metadata listeners, or dynamic proxies? This determines whether the idea is portable even if the code is not.
  • Is the package abandoned, or is there an internal consumer keeping it alive?
  • What Doctrine and PHP versions does it actually run against (composer constraints)?
  • Is there a license file, and is the license compatible with our distribution model?
  • What is the business driver for "extending entities" — is it a plugin/tenant model, an audit/soft-delete concern, or schema evolution? The answer likely points to a better-supported tool.

Integration Approach

Stack fit. Poor for the stated target (Laravel). The package assumes Symfony's kernel, container, and DoctrineBundle. In a Laravel context the integration cost is not "install and configure" but "port or rewrite." If the team is actually on Symfony (any version), fit improves dramatically — but still requires a Symfony 2→current migration, which is itself a project.

Migration path. Recommended sequencing if we pursue the capability:

  1. Extract the pattern, not the package. Read the source to identify the entity-extension technique, then reimplement as a standalone library or as application code. This removes the Symfony2 dependency entirely.
  2. Prototype in isolation. Build a spike against our actual PHP and Doctrine versions before committing. Measure how much of the bundle's logic survives without the framework.
  3. Evaluate replacements first. Before writing anything, compare against gedmo/doctrine-extensions, native Doctrine inheritance (single-table/joined/class-table), and simple trait composition. These are maintained and widely adopted; the bundle's only advantage would be a very specific dynamic-extension behavior worth verifying.

Compatibility. Expect incompatibility with modern PHP (8.x typing and deprecations), current Doctrine ORM, and any Laravel version. If we are on Laravel with laravel-doctrine, the bundle's DoctrineBundle assumptions will not map cleanly onto the Laravel Doctrine service provider. Treat composer install as effectively blocked until proven otherwise.

Sequencing. Do not sequence this as a dependency introduction. Sequence it as: capability definition → pattern extraction → prototype → decide build-vs-buy (buy = maintained alternatives) → only then, if justified, a scoped internal implementation. The package itself should not appear in a composer.json we own.

Operational Impact

Maintenance. Effectively unmaintained. With 0 stars and 0 dependents, we would become the de facto maintainers of any fork we adopt — including security patching an EOL Symfony2 dependency chain. Budget for this as owning code, not consuming a library.

Support. No community, no issue triage, no documentation currency. Internal knowledge transfer depends entirely on whoever reverse-engineers the bundle. This is a bus-factor risk: a single engineer becomes the sole authority on a mechanism nobody else understands.

Scaling. The scalability concern is organizational, not runtime. A bespoke, poorly-understood entity-extension layer tends to accumulate implicit coupling between schema, ORM metadata, and business logic — hard to onboard onto and hard to reason about during incidents. Doctrine metadata listeners and proxy-based extension also carry runtime overhead and debugging complexity (entities that behave differently than their class definitions suggest), which complicates observability.

Failure modes.

  • Silent schema drift — extension logic interacting badly with Doctrine metadata caching or migrations.
  • Upgrade dead-ends — inability to move to newer Doctrine/PHP because the extension layer pins old versions.
  • Invisible magic — developers confused by entities whose behavior is altered by framework-level listeners, leading to subtle bugs.
  • Abandonment cascade — a transitive dependency disappears or a security advisory goes unpatched with no upstream to fix it.

Ramp-up. High relative to value. Time is spent on archaeology (understanding a Symfony2-era bundle), porting, and validation — not on delivering the capability. The expected effort vastly exceeds adopting a maintained Doctrine extension library or implementing the needed behavior directly.

TPM recommendation. Do not adopt this package. Treat it as a reference implementation to mine for the entity-extension pattern, then build the minimal capability in-house or adopt a maintained alternative. The framework mismatch (Symfony2 vs. Laravel), EOL platform, and zero-adoption signal make it a net-negative dependency; the only durable value is whatever design idea can be extracted from its source.

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.
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
noith/settings
kda/laravel-package