24 Commits

Author SHA1 Message Date
6a4df8373c 20250524
- Добавлено перечисление VarNotBoolAction, для определения действий в классе BoolExtensions (методы AnyTrue и TrueCount), если передана часть не булевого типа.

- В расширении BoolExtensions в методах AnyTrue и TrueCount убрано выброс исключение, если какой-то аргумент из массива expressions не является булевым типом. Вместо него в обоих методах введён необязательный параметр $ifNotBool (тип VarNotBoolAction), который определяет действие: игнорирование (этот аргумент просто исключается из проверки), считать правдивым (вместо него ставится true) и считать ложным (вместо него ставится false).
2025-05-24 14:31:14 +03:00
10ec8df983 20250522
* [Dictionary, ObjectArray] Исправлен баг сериализации. Теперь классы нормально восстанавливаются.
2025-05-22 22:03:39 +03:00
2d16baaef9 20250520
[Dictionary] добавлен метод AddRange (array $dictionary), который добавляет элементы в виде ассоциативного массива ключ => значение в словарь.

[Dictionary] Добавлен метод ToArray (), который возвращает все элементы словаря в виде массива..
2025-05-20 12:42:06 +03:00
2e684cb862 20250519
* [Dictionary, ObjectArray] Исправлен метод сериализации. Теперь классы нормально восстанавливаются.
2025-05-19 07:04:25 +03:00
5b83b096e5 20250516
* [Dictionary] Добавлен метод Keys (): array, который возвращает все ключи словаря.
* [Dictionary] Добавлен метод Sort (bool $descending = false): void, который сортирует внутренние данные по ключам (в обратном порядке, если выбран $descending = true).
2025-05-16 23:35:48 +03:00
ee76392d71 20250515
* [ObjectArrayBasicTrait] заменён на [ArrayBasicTrait].
* [ArrayBasicTrait] изменён метод __isset. Теперь он обрабатывается корректно.
* [ArrayBasicTrait] методы Serialize и UnSerialize теперь используют json_encode / json_decode
* [+Dictionary] Класс, описывающий словарь типа строка (ключ) -> значение любого типа (значение).
2025-05-15 23:04:04 +03:00
2a03797bfe 20250505
[*: ActionStateMessageModel] улучшена реализация интерфейса ISerializable.

[*: ActionState] класс разбит на множество трейтов для более структурированности.

[*: ActionState] улучшена реализация интерфейса ISerializable.

[*: ActionState] класс внутреннего хранилища сообщений изменён на ObjectArray.

[*: ActionState] улучшена реализация метода Count.

[*: ActionState] улучшены реализации методов HasInfos, HasWarnings, HasErrors, IsSuccess, GetStringMessages и Clear.

 [*: ActionState] возвращаемое значение метода GetMessages заменено на ObjectArray.
2025-05-05 17:39:34 +03:00
697f6b81b9 20250424
[Д] [ObjectArray->Add] Функция добавляет объект в массив объектов, хранящийся в данном классе (аналогично добавлению элемента в массив с помощью []).

[Д] [ObjectArray->AddRange] Функция добавляет массив объектов (или объекты, заданные с помощью array) в массив объектов, хранящийся в данном классе.

[И] [ObjectArray->Update] Добавление с помощью foreach заменено на AddRange.

[Д] [IDuplicated] Добавлен интерфейс реализации дублирования классов.

[Д] [IStoredAtSQL] Добавлен интерфейс поддержки моделей и классов, реализующих хранение свойств в SQL базе данных.
2025-04-24 07:31:59 +03:00
8da3c1df38 20250224
[Д] [StringExtension::Replace] Функция заменяет все вхождения строки поиска на строку замены в заданной строке (аналог mb_str_replace).

[Д] [StringExtension::ReplaceAll] Функция заменяет все вхождения строк поиск на соответствующие строки замены в заданной строке.
2025-02-24 23:44:57 +03:00
07a994df83 20250223-1
[О] [ClassMapper::MapToClassProperty] и [ClassMapper::SetParameterToClass]: Исправлена ошибка, при которой некорректно переводился тип bool.
2025-02-23 14:05:30 +03:00
e09ea26a3c 20250223
[О] [ClassMapper::MapClass]: Отменена проверка свойства на доступность get и set, так как выдавала ошибку. Используйте лучше в таких случаях $options['ignored'] для таких свойств.
2025-02-23 11:34:19 +03:00
ebfd42a88e 20250222
[О] [ClassMapper::GetDefaults]: Улучшено определение типа. Теперь проверка integer не вызовет ошибку, что ожидается int.

[О] [ClassMapper::MapClass]: Теперь идёт проверка свойства на доступность get и set. Свойства с только get и только set пропускаются.
2025-02-22 13:09:54 +03:00
054e6a7cdc 20250221 2025-02-21 18:33:23 +03:00
64c1f386eb 20250217
[Д] [BoolExtensions]: Добавлен новый статический класс, расширяющий возможности типа bool.
2025-02-17 17:34:14 +03:00
3aefbd7f27 20250214-1
[Д] [HashGetType]: Добавлен параметр ByHash (для получения класса хеша путём передачи ему уже вычисленного хэша).

[О] [FileHash]: __construct - $hashBy по умолчанию теперь HashGetType::ByHash.

[Д] [FileHash]: Добавлены функции сериализации и десериализации (теперь класс реализует интерфейс ISerializable).

[Д] [FileHash]: Добавлена функции валидации хэша Validate.
2025-02-14 19:07:21 +03:00
b6f9698e59 20250214
+ [TwoDimSize]: Класс, описывающий двумерный размер.

+ [HashGetType]: Перечисление типов получения хэша.

+ [FileHash]: Класс для работы с хэшем файла или строки.
2025-02-14 16:41:50 +03:00
3fd75364a1 20250208
+ [ObjectArray]: Добавлена функция Skip для пропуска $offset элементов массива.
+ [ObjectArray]: Добавлена функция Take для получения $count элементов массива.
+ [ObjectArray]: Добавлена функция SkipAndTake для получения $count элементов массива, начиная с индекса $startFrom.
2025-02-08 17:57:09 +03:00
f247253f9e Merge remote-tracking branch 'origin/master' 2025-02-05 23:46:12 +03:00
c623b435e9 20250205-1
+ [ObjectArray]: Добавлена функция First для получения первого объекта из массива объектов.

+ [ObjectArray]: Добавлена функция Last для получения последнего объекта из массива объектов.
2025-02-05 23:46:00 +03:00
c32c8643ee 20250205
+ [ObjectArray]: Добавлена функция GetColumnCallback для лучшего получения колонки.
2025-02-05 18:54:56 +03:00
186c29bd5b 20250204-1 2025-02-04 16:27:55 +03:00
50343d5a87 20250204 2025-02-04 12:40:43 +03:00
4bcb4c60dd 20250203-1 2025-02-03 23:39:40 +03:00
dd62ad0ca4 20250203 2025-02-03 18:49:47 +03:00