Value Objects are small and immutable classes representing typed values usually implemented using PHP primitive types. However, objects can embed validation to ensure that your data is always valid without adding any check elsewhere in your code.
That's why you should ALWAYS use Value Objects rather than primitive types.
This package requires PHP 7.4+
Add it as Composer dependency:
$ composer require mediagone/common-types
All value objects implement a common ValueObject
interface and JsonSerializable
.
Hash
(abstract class)HashBcrypt
HashArgon2id
Age
Count
Country
Date
DateTimeUTC
Duration
Hex
Name
Slug
Text
TextMedium
Title
EmailAddress
Url
UrlHost
UrlPath
Common Types is licensed under MIT license. See LICENSE file.