Changelog
v2.1.0
Breaking Changes:
- Traits for datastructures renamed to StrictSplDoublyLinkedListTrait
New Features:
- Extended API for StrictArray
v2.0.0
Breaking Changes:
- Raised minimum PHP version from 8.0 to 8.1 in order to use new features like array_is_list() and the spread operator on string-keyed arrays
-
Interfaces traits renamed and moved to different namespace
OCC\Basics\InterfaceTraits\ArrayAccess -> OCC\Basics\Interfaces\ArrayAccessTrait OCC\Basics\InterfaceTraits\Countable -> OCC\Basics\Interfaces\CountableTrait OCC\Basics\InterfaceTraits\IteratorAggregate -> OCC\Basics\Interfaces\IteratorAggregateTrait OCC\Basics\InterfaceTraits\Iterator -> OCC\Basics\Interfaces\IteratorTrait
-
Prefixed internal methods for Getter and Setter with
_
to avoid confusion with regular class methods// old methods function magicGet{Property}(): mixed function magicSet{Property}(mixed $value): void
// new methods function _magicGet{Property}(): mixed function _magicSet{Property}(mixed $value): void
New Features:
- Added new datastructure StrictCollection
- Added new datastructure StrictArray
- Added new error handler TriggerExceptionError
- Added new trait OverloadingGetter
- Added new trait OverloadingSetter
- Added new trait TypeChecker
- Extended API for all datastructures (see StrictSplDoublyLinkedListTrait )
- Introduced InvalidDataTypeException for strict datastructures
- Extended documentation
v1.1.0
Breaking Changes:
-
Changed the constructor's signature for all DataStructures to improve compatibility with the corresponding SPL datastructures
// old constructor signature public function __construct(iterable $items = [], array $allowedTypes = [])
// new constructor signature public function __construct(array $allowedTypes = [])
v1.0.0
Initial Release