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

zhortein/doctrine-lifecycle-bundle

A Symfony bundle for integrating Doctrine lifecycle events into your application. It provides configurable listeners and services for reacting to entity creation, update, and deletion, helping keep persistence logic clean, centralized, and maintainable.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

The package extends Laravel Eloquent models with blameable (created_by/updated_by) and timestampable behavior via interfaces and traits. Architecturally, this aligns with Laravel’s trait-based composition and service provider patterns, making it a natural fit for teams already using Eloquent. Integration feasibility is high for standard use: add the trait to models, implement the interface, and optionally publish config/migrations. The 0.1.3 change alters setter return types in BlameableInterface/BlameableTrait and TimestampableInterface/TimestampableTrait. This is a contract-level fix, not a feature. Technical risk is low for consumers who only use the provided traits, but medium for teams that implement these interfaces directly or override setters in custom model hierarchies—PHP’s return type covariance rules can cause fatal errors at load time if child classes declare incompatible return types. Key questions: Is this change considered breaking under the package’s pre-1.0 semver policy? Which PHP/Laravel versions are supported? Are there migration notes for custom implementations? Does the package have automated tests covering interface contracts? What is the release cadence and backward-compatibility commitment for 0.x?

Integration Approach

The package fits Laravel stacks using Composer and Eloquent. For most teams, integration is a single composer require plus trait addition to affected models. The migration path from 0.1.2 to 0.1.3 should be treated as potentially breaking despite the patch version: audit code for direct implementations of BlameableInterface or TimestampableInterface, and for subclasses that override setCreatedBy, setUpdatedBy, or timestamp setters. Compatibility depends on PHP version and Laravel’s autoloading; run composer why-not and the test suite after updating. Sequencing: (1) pin to 0.1.3 in a branch, (2) run static analysis and unit tests, (3) search for interface implementations and overridden setters, (4) adjust return types to match the new contract, (5) deploy to staging with blame/timestamp assertions, then production. If custom implementations exist, consider deferring until patches are ready or locking to 0.1.2.

Operational Impact

Maintenance is minimal for standard trait usage, but the return-type change introduces a support burden for teams with custom implementations. Failure modes include fatal PHP errors from incompatible return types, silent misattribution if setters are bypassed, and migration drift if config or schema changes are not published. Scaling impact is negligible—traits add little overhead—but blame columns and indexes should be reviewed for high-write models. Ramp-up is low for Laravel developers familiar with traits and Eloquent events. Operationally, add a smoke test that creates and updates a model and asserts blame/timestamp fields; monitor error logs for interface compatibility issues after deployment. Given the 0.x version, expect further contract changes; recommend version pinning and a periodic upgrade review.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource