Weave Code
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

Doctrine Extensions Bundle Laravel Package

antishov/doctrine-extensions-bundle

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Enhanced Data Modeling Flexibility: Accelerates development of complex entity behaviors (e.g., soft deletes, timestamps, slugs, tree structures) without custom DQL or repository logic.
  • Roadmap for Legacy Migration: Enables incremental adoption of Doctrine Extensions in Symfony 4/5 projects, reducing technical debt from older Symfony versions (e.g., 2/3).
  • Build vs. Buy: Avoids reinventing behaviors like Loggable, Uploadable, or Translatable—critical for multilingual apps or audit trails—while maintaining control over implementation.
  • Use Cases:
    • Content Management: Sluggable/Translatable for SEO-friendly URLs and multilingual content.
    • Audit Trails: Loggable for tracking entity changes (e.g., user activity, compliance).
    • Hierarchical Data: NestedSet/Sortable for category trees or ordered lists.
    • File Management: Uploadable for handling file attachments with validation.

When to Consider This Package

  • Adopt When:

    • Your Symfony 4/5 app needs reusable Doctrine behaviors (e.g., soft deletes, timestamps, slugs) without writing boilerplate.
    • You’re migrating from Symfony 2/3 and need backward-compatible extensions (via gedmo/doctrine-extensions).
    • Your team prioritizes developer velocity over custom solutions for common patterns (e.g., tree structures, translatable fields).
    • You require file upload handling with validation (e.g., directory permissions, file types).
  • Look Elsewhere If:

    • You’re using Symfony <4.4 or PHP <7.2.5 (archived fork; original stof bundle may still work).
    • You need active maintenance (last release: 2020; consider gedmo/doctrine-extensions directly for newer features).
    • Your use case requires cutting-edge features (e.g., Doctrine 4+ optimizations; this bundle lags behind the core library).
    • You prefer type safety over legacy compatibility (PHP 8 support is present but not a focus).

How to Pitch It (Stakeholders)

For Executives: "This package lets our Symfony team implement complex data behaviors—like soft deletes, multilingual content, or file uploads—10x faster by reusing battle-tested extensions. For example, adding slugs for SEO or audit logs for compliance becomes a one-line annotation instead of weeks of custom code. It’s a low-risk, high-reward way to accelerate feature delivery while reducing technical debt. The MIT license and Symfony integration ensure it’s production-ready for our stack."

For Engineering: *"This bundle wraps Gedmo Doctrine Extensions (e.g., Loggable, Uploadable, NestedSet) into a Symfony-compatible package. Key benefits:

  • No more DQL hacks: Replace custom queries with annotations like @Gedmo\Loggable.
  • Symfony 4/5 parity: Works with modern PHP (7.2–8.0) and avoids deprecated APIs.
  • File uploads made easy: Handles validation, storage, and even Windows path issues (fixed in v1.4.2).
  • Legacy escape hatch: If we later need to drop Symfony 4, the underlying gedmo/doctrine-extensions (v3+) is actively maintained.

Tradeoff: It’s a fork of an unmaintained bundle, but the core library (gedmo/doctrine-extensions) is stable. For new projects, we could also evaluate Doctrine’s native features (e.g., ChangeTrackingPolicy) or custom value objects—but this gives us 80% of the functionality with 20% of the effort."*

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.
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager