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

Doctrine Extensions Laravel Package

mkietlinski/doctrine-extensions

mkietlinski/doctrine-extensions provides reusable Doctrine ORM extensions for PHP projects, helping reduce boilerplate and add common behavior to your Doctrine setup. Install via Composer and integrate with your existing entity manager configuration.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Roadmap acceleration on cross-cutting features. Doctrine behavioral extensions map almost directly onto recurring product requirements — audit timestamps, blame tracking, URL slugs, soft deletes, translations, hierarchies, manual ordering. A PM can scope these as behaviors configured once rather than re-specifying audit columns, slug logic, and reversible lifecycle per entity. That compresses estimates on CMS, catalog, and i18n workstreams and reduces design debt.
  • Build vs. buy (vs. vendor-and-own). The question is not "can we build timestamps and slugs" — trivially yes — but whether the same five behaviors repeat across 10–50 entities. If they do, a behavior layer pays for itself. Note the decision here is a three-way: adopt this fork, adopt upstream gedmo/doctrine-extensions, or write narrow in-house traits. With zero adoption signals on this fork, "buy" realistically turns into "vendor and own."
  • Compliance and auditability. Timestampable, Blameable, and Loggable address "who changed what, when" requirements that surface in SOC 2, GDPR, and enterprise security questionnaires. Framing this as a toggleable, testable capability rather than a per-team chore is a legitimate roadmap argument — provided the dependency is supportable.
  • CMS, catalog, and content lifecycle. Sluggable (SEO URLs), SoftDeleteable (reversible content lifecycle), Translatable (multi-language rollout), Tree (category/navigation hierarchy), and Sortable (merchandising order) are the exact primitives behind a CMS or catalog plan. If those features are on the roadmap, the category is worth evaluating.
  • Localization initiative. Translatable supports a "ship in N languages" commitment without per-entity schema surgery — a concrete input to localization scoping.
  • Standardization. One behavior layer prevents each squad from inventing divergent audit and slug logic, which lowers long-term maintenance cost.

When to Consider This Package

Consider it only when all of the following hold:

  • The application is Laravel with Doctrine ORM for persistence (e.g., via laravel-doctrine/orm). On an Eloquent-only stack — the majority of Laravel apps — this package has no integration surface and should be dropped from consideration immediately.
  • You need multiple behavioral concerns across many entities, so the amortized payoff justifies an added dependency.
  • You accept internal ownership: pin an exact commit, vendor the source, and name a fork owner. With 0 stars, 0 dependents, a single maintainer, and no issue history, this is not a supported vendor.
  • You can validate it in a time-boxed spike — confirm the Doctrine ORM major (2.x vs 3.x, annotations vs attributes) and PHP constraints in composer.json before committing.

Look elsewhere when:

  • You are on Eloquent — use Eloquent-native tooling (casts, observers, Spatie packages); do not adopt Doctrine for its behaviors alone.
  • You need SLAs, security review, or maintainer support — upstream gedmo/doctrine-extensions has a real community; in-house traits are a defensible alternative for a narrow subset.
  • The feature is security- or money-critical (authorization, billing) — these are convenience behaviors, not a trust boundary.
  • You need fewer than ~3 behaviors — write the columns and observers yourself; dependency overhead exceeds the benefit.
  • The diff against upstream turns out to be immaterial — depend on upstream directly.

How to Pitch It (Stakeholders)

Executives (one paragraph). This is a small MIT-licensed Laravel/Doctrine integration that packages the table-stakes entity behaviors — audit timestamps, blame tracking, slugs, soft deletes, translations, hierarchies, manual ordering — that otherwise get rebuilt project by project. Adopting it can shorten delivery on CMS, localization, and audit workstreams and standardize how those features are implemented. The cost is not license fee but risk: effectively zero adoption, one maintainer, no support channel, no downstream validation. Recommendation: treat it as an internal dependency candidate, not a vendor product. Authorize a short spike to compare it against upstream gedmo/doctrine-extensions, pin the version, and plan to vendor or fork if it becomes load-bearing. Do not put it on security- or revenue-critical paths.

Engineering (summary). Doctrine behavioral extensions for Laravel Doctrine apps: timestampable, blameable, soft-delete, sluggable, translatable, tree, sortable — registered as event subscribers on the EntityManager. Two gates before any adoption: (1) does the app actually run Doctrine rather than Eloquent, and (2) what does this fork change relative to upstream? Mitigations: diff against gedmo/doctrine-extensions first and drop the fork if the delta is immaterial; confirm doctrine/orm and PHP version compatibility; enable Timestampable alone as a plumbing spike; add SoftDeleteable only after testing every affected repository's query plans; defer Translatable, Tree, and Loggable until there's a concrete need. Pin a commit SHA, assign a fork owner, and establish an exit ramp before production. Expect roughly 1–2 days to read the listeners and 1–2 weeks for a tested, query-plan-validated rollout.

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