Download the PHP package chamber-orchestra/doctrine-clock-bundle without Composer
On this page you can find all versions of the php package chamber-orchestra/doctrine-clock-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download chamber-orchestra/doctrine-clock-bundle
More information about chamber-orchestra/doctrine-clock-bundle
Files in chamber-orchestra/doctrine-clock-bundle
Package doctrine-clock-bundle
Short Description Automatic Doctrine ORM timestamps using PHP attributes and Symfony Clock. Provides #[CreateTimestamp] and #[UpdateTimestamp] attributes with ready-to-use entity traits for createdDatetime/updatedDatetime fields.
License MIT
Informations about the package doctrine-clock-bundle
Doctrine Clock Bundle
A Symfony bundle that automatically manages createdDatetime and updatedDatetime fields on Doctrine ORM entities using PHP attributes and symfony/clock DatePoint.
Drop #[CreateTimestamp] / #[UpdateTimestamp] on any entity property (or use the provided traits) and the bundle handles the rest -- no interfaces, no manual event wiring.
Requirements
- PHP 8.5+
- Symfony 8.0
- Doctrine ORM 3.6+
Installation
If you are not using Symfony Flex, register the bundles manually:
Quick Start
Use the provided traits to add timestamp fields to your entities:
That's it. On persist, both fields are set to the current DatePoint. On update, only updatedDatetime is refreshed. Manually pre-populated values are preserved on insert.
Available Traits
| Trait | Fields | Column precision |
|---|---|---|
TimestampTrait |
createdDatetime + updatedDatetime |
seconds |
TimestampCreateTrait |
createdDatetime only |
seconds |
TimestampUpdateTrait |
updatedDatetime only |
seconds |
PrecisedTimestampTrait |
createdDatetime + updatedDatetime |
microseconds (scale: 6) |
PrecisedTimestampCreateTrait |
createdDatetime only |
microseconds (scale: 6) |
PrecisedTimestampUpdateTrait |
updatedDatetime only |
microseconds (scale: 6) |
Using Attributes Directly
If you prefer full control over your entity properties, use the attributes without traits:
Multiple fields with the same attribute are supported -- e.g. two #[CreateTimestamp] properties will both be set on insert.
Behaviour
| Event | #[CreateTimestamp] |
#[UpdateTimestamp] |
|---|---|---|
prePersist |
Set if null |
Set if null |
preUpdate |
Not touched | Always overwritten |
Custom DBAL Types (Optional)
The bundle ships DBAL type overrides for improved timestamp precision and decimal handling:
Development
License
MIT -- see LICENSE.
All versions of doctrine-clock-bundle with dependencies
php Version ^8.5
symfony/clock Version 8.0.*
chamber-orchestra/metadata-bundle Version 8.0.*