anzusystems / contracts
Interfaces, traits and abstract classes used in AnzuSystems ecosystem.
4.4.0
2026-02-13 10:05 UTC
Requires
- php: >=8.1
- symfony/http-foundation: ^6.1|^7.0|^8.0
- symfony/polyfill-uuid: ^1.26
- symfony/security-core: ^6.1|^7.0|^8.0
Requires (Dev)
- anzusystems/serializer-bundle: ^5.2
- doctrine/orm: ^2.12|^3.6
- symfony/uid: ^6.0|^7.0|^8.0
- symfony/validator: ^6.0|^7.0|^8.0
Suggests
- anzusystems/serializer-bundle: Support serialization of trait/abstract class members.
- doctrine/orm: Support persistence for trait/abstract class properties.
- symfony/uid: Support Uuid features.
- symfony/validator: Support validation via symfony asserts.
README
Provides common interfaces, traits, abstracts, enums and other common functionality used in AnzuSystems' projects.
Installation
$ composer require anzusystems/contracts
Common Interfaces and related Traits or Abstract classes.
- BaseIdentifiableInterface - NamedResourceTrait
- CopyableInterface
- IndexableInterface
- EnableInterface - EnableTrait
- OwnersAwareInterface
- TimeTrackingInterface - TimeTrackingTrait
- UserTrackingInterface
- ValueObjectInterface - AbstractValueObject
- EnumInterface - BaseEnumTrait
- DocumentInterface - DocumentTrait
- CacheSettingsInterface - AbstractCacheSettings
Abstracts and common functionality
Exception
Enums
More details on how to use Enums in AnzuSystems projects can be found here.