Download the PHP package yomy/valueobject without Composer
On this page you can find all versions of the php package yomy/valueobject. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download yomy/valueobject
More information about yomy/valueobject
Files in yomy/valueobject
Package valueobject
Short Description Value objects
License Apache-2.0
Homepage https://github.com/yomy/valueobject
Informations about the package valueobject
valueobject
Value Objects and Enums
Installation and documentation
- Available as [Composer] package [yomy/valueobject].
What is this library about
This library adds a ValueObject and EnumValueObject classes.
Examples of value object
Creating an object:
Getting value from the object
Objects with the same value are going to be the same object
You can use type hinting in methods
You can extend the object for more detailed type hinting
Objects of different class or variable type are different
Instead of a strong (===) comparison operator, you could also use the equals() method
Generally, unserialize of a value object is prohibited, as this would break the ability to compare objects by reference. However, you might have a case you don't care about strict comparison, and need to unserialize the object. You can add a WeakValueObjectTrait usage to your custom object, which will allow unserializing it, and also compare objects by the values instead of reference when using equals() method
Examples of Enum value object
Creating an enum object
Creating enum objects
or by referring referring to key
You will get an error if you try to instantiate invalid value
Examples of Positive Integer value object
As value objects are commonly used as identifiers for database entities with an integer key, positive int value object ensures a valid key object for this purpose
Creating an object:
Usually, the id key in the db cannot be a 0, so these objects are invalid:
Of course, as with a basic value object, it is intended to use these in extended classes.
All versions of valueobject with dependencies
ext-ctype Version >=7.0