- Добавлено перечисление VarNotBoolAction, для определения действий в классе BoolExtensions (методы AnyTrue и TrueCount), если передана часть не булевого типа.
- В расширении BoolExtensions в методах AnyTrue и TrueCount убрано выброс исключение, если какой-то аргумент из массива expressions не является булевым типом. Вместо него в обоих методах введён необязательный параметр $ifNotBool (тип VarNotBoolAction), который определяет действие: игнорирование (этот аргумент просто исключается из проверки), считать правдивым (вместо него ставится true) и считать ложным (вместо него ставится false).
[Dictionary] добавлен метод AddRange (array $dictionary), который добавляет элементы в виде ассоциативного массива ключ => значение в словарь.
[Dictionary] Добавлен метод ToArray (), который возвращает все элементы словаря в виде массива..
* [Dictionary] Добавлен метод Keys (): array, который возвращает все ключи словаря.
* [Dictionary] Добавлен метод Sort (bool $descending = false): void, который сортирует внутренние данные по ключам (в обратном порядке, если выбран $descending = true).
* [ObjectArrayBasicTrait] заменён на [ArrayBasicTrait].
* [ArrayBasicTrait] изменён метод __isset. Теперь он обрабатывается корректно.
* [ArrayBasicTrait] методы Serialize и UnSerialize теперь используют json_encode / json_decode
* [+Dictionary] Класс, описывающий словарь типа строка (ключ) -> значение любого типа (значение).
[*: ActionStateMessageModel] улучшена реализация интерфейса ISerializable.
[*: ActionState] класс разбит на множество трейтов для более структурированности.
[*: ActionState] улучшена реализация интерфейса ISerializable.
[*: ActionState] класс внутреннего хранилища сообщений изменён на ObjectArray.
[*: ActionState] улучшена реализация метода Count.
[*: ActionState] улучшены реализации методов HasInfos, HasWarnings, HasErrors, IsSuccess, GetStringMessages и Clear.
[*: ActionState] возвращаемое значение метода GetMessages заменено на ObjectArray.
[Д] [ObjectArray->Add] Функция добавляет объект в массив объектов, хранящийся в данном классе (аналогично добавлению элемента в массив с помощью []).
[Д] [ObjectArray->AddRange] Функция добавляет массив объектов (или объекты, заданные с помощью array) в массив объектов, хранящийся в данном классе.
[И] [ObjectArray->Update] Добавление с помощью foreach заменено на AddRange.
[Д] [IDuplicated] Добавлен интерфейс реализации дублирования классов.
[Д] [IStoredAtSQL] Добавлен интерфейс поддержки моделей и классов, реализующих хранение свойств в SQL базе данных.
[Д] [StringExtension::Replace] Функция заменяет все вхождения строки поиска на строку замены в заданной строке (аналог mb_str_replace).
[Д] [StringExtension::ReplaceAll] Функция заменяет все вхождения строк поиск на соответствующие строки замены в заданной строке.
[О] [ClassMapper::GetDefaults]: Улучшено определение типа. Теперь проверка integer не вызовет ошибку, что ожидается int.
[О] [ClassMapper::MapClass]: Теперь идёт проверка свойства на доступность get и set. Свойства с только get и только set пропускаются.
[Д] [HashGetType]: Добавлен параметр ByHash (для получения класса хеша путём передачи ему уже вычисленного хэша).
[О] [FileHash]: __construct - $hashBy по умолчанию теперь HashGetType::ByHash.
[Д] [FileHash]: Добавлены функции сериализации и десериализации (теперь класс реализует интерфейс ISerializable).
[Д] [FileHash]: Добавлена функции валидации хэша Validate.
+ [TwoDimSize]: Класс, описывающий двумерный размер.
+ [HashGetType]: Перечисление типов получения хэша.
+ [FileHash]: Класс для работы с хэшем файла или строки.
+ [ObjectArray]: Добавлена функция Skip для пропуска $offset элементов массива.
+ [ObjectArray]: Добавлена функция Take для получения $count элементов массива.
+ [ObjectArray]: Добавлена функция SkipAndTake для получения $count элементов массива, начиная с индекса $startFrom.
+ [ObjectArray]: Добавлена функция First для получения первого объекта из массива объектов.
+ [ObjectArray]: Добавлена функция Last для получения последнего объекта из массива объектов.