- [BC BREAK] Dropped support for PHP < 7.1.
- [IMPROVED] Support for non-public enumeration constants (#24, #26) (thanks @Bilge).
- [IMPROVED] Use
staticin docblocks for better IDE hints (#20) (thanks @Bilge). - [MAINTENANCE] General repository maintenance
- [NEW] Implemented
memberOrNullBy()and variants
- [MAINTENANCE] General repository maintenance
- [BC BREAK] Renamed classes:
Multiton->AbstractMultitonEnumeration->AbstractEnumeration
- [BC BREAK] Exceptions no longer extend
LogicException, but instead directly extend from the baseExceptionclass. - [NEW] Implemented
AbstractValueMultiton, an an abstract base class for implementing multitons with values.AbstractEnumerationnow extends from this base class. - [NEW] Implemented
AbstractUndefinedMemeberException, an abstract base class for implementing custom undefined member exceptions.UndefinedMemberExceptionnow extends from this base class. - [NEW] Multiton instances now implement formal interfaces:
AbstractMultitoninstances implementMultitonInterface.AbstractValueMultitoninstances implementValueMultitonInterface.AbstractEnumerationinstances implementEnumerationInterface
- [NEW] Implemented
membersBy()andmembersByPredicate()which help to retrieve sets of members by various criteria.
- [BC BREAK]
Multitonmethod name changes:multitonInstances->membersinstanceByKey->memberByKeyinstanceBy->memberByinstanceByPredicate->memberByPredicateinitializeMultiton->initializeMembersregisterMultiton->registerMembercreateUndefinedInstanceException->createUndefinedMemberException
- [BC BREAK]
Enumerationmethod name changes:instanceByValue->memberByValue
- [BC BREAK] Renamed classes:
UndefinedInstanceException->UndefinedMemberExceptionUndefinedInstanceExceptionInterface->UndefinedMemberExceptionInterface
- [NEW] Case insensitive options for member search methods
- [NEW] Defaulting variants of member search methods
- [MAINTENANCE] General repository maintenance
- [NEW] Archer integration
- [NEW] Implemented changelog