-
v1.0.25 Stable
released this
2025-06-14 09:54:44 +03:00 | 20 commits to main since this releaseВ этом релизе добавлен атрибут для свойств класса
#[GetOnly]. Он маркирует только те свойства, которые имеют толькоgetчасть, чтобы при маппинге класс корректно его прошёл.Также улучшен класс
ClassMapper. В его базовый метод добавлена проверка на атрибут#[GetOnly].Downloads
-
v1.0.24 Stable
released this
2025-06-12 16:10:10 +03:00 | 21 commits to main since this releaseВ этом релизе добавлено перечисление стадий в информации о версии
VersionInfoStage.Также в этом релизе добавлен новый класс, описывающий информацию о версии,
VersionInfo(подробнее см. VersionInfo.md).Downloads
-
v1.0.23 Stable
released this
2025-06-08 22:00:20 +03:00 | 22 commits to main since this releaseВ этом релизе изменения коснулись только класса
File.Во-первых, был обновлён метод
RemoveDirиз-за проблем с удалением директорий. Теперь он корректно удаляет любую директорию.Во-вторых, из-за изменения кода изменился и синтаксис метода
RemoveDir:RemoveDir (string $directory, array $errorMessages = self::REMOVE_DIRECTORY_ERROR_MESSAGES): ActionState, где$errorMessages-- массив с локализованным списком ошибок (по умолчанию, используется константаREMOVE_DIRECTORY_ERROR_MESSAGESс русскоязычным списком, для локализации рекомендуется передавать локализованные списки). Также теперь вместоboolвозвращаетсяActionState, куда заносятся все ошибки при удалении, а в значениеValueзаписываетсяbool- результат удаления.В-третьих, добавлен метод
FileSize (string $filename, array $errorLocalization = self::FILE_SIZE_ERROR_MESSAGES): ActionState, который получает размер файла, полный путь к которому передаётся в строковом параметре$filename, массив$errorLocalizationслужит для локализации ошибок и по умолчанию использует русскую локализацию, представленную в константеFILE_SIZE_ERROR_MESSAGES. Возвращает методActionState, куда заносятся все ошибки при получении размера, а в значениеValueзаписываетсяint- размер файла в байтах или-1при ошибке.В-четвёртых, добавлен метод
FileSizeToString (int $fileSize, array $fileSizeUnits = self::FILE_SIZE_UNITS, string $decimalSeparator = ','): string, который преобразует размер файла в байтах, указанный в параметре$fileSize, в красивое строковое представление. Массив$fileSizeUnitsслужит для локализации единиц измерения (байт, КБ, ...) по умолчанию использует русскую локализацию, представленную в константеFILE_SIZE_UNITS. Также можно задать разделитель между сотыми (по умолчанию, используется русскоязычный разделитель -,). Возвращает метод красивую строку: если размер файла, например, составляет1500 байт, вывод будет1.46 КБ.Downloads
-
v1.0.22 Stable
released this
2025-06-08 11:46:56 +03:00 | 23 commits to main since this releaseВ этом релизе в классе
Fileобновлён методRemoveDir. Теперь он корректно удаляет не пустую директорию.
Кроме того, в том же классе добавлен методDirectoryExists (string $directory, bool $checkReadAccess = true, bool $checkWriteAccess = false): bool, который проверяет существование папки$directory, проверяет доступ на чтение$checkReadAccess = trueи на запись$checkWriteAccess = true.Downloads
-
v1.0.21 Stable
released this
2025-05-26 13:34:20 +03:00 | 24 commits to main since this releaseВ данный релиз добавлен класс
File, который реализует функционал работы с файлами и выполнение операций над файлами одной командой.Downloads
-
v1.0.20 Stable
released this
2025-05-25 12:46:16 +03:00 | 27 commits to main since this releaseВ этом релизе добавлен новый класс
Tuple, реализующий работу кортежей почти как в C#.Пример создания кортежа:
$tuple = new Tuple(1, 'string', ['array1', 'array2', 'array3']);Важно! Количество элементов кортежа не ограничено!
Пример получения:
$firstElement = $tuple->Get(0);$secondElement = $tuple->Get(1);$thirdElement = $tuple[2];Или можно получить всё сразу:
[$firstElement, $secondElement, $thirdElement] = $tuple;ВНИМАНИЕ! Кортеж подразумевает, что вы не можете добавлять элементы в него после создания. Поэтому любая попытка
$tuple[] = "new element";приведёт к выбрасыванию исключенияException.Downloads
-
v1.0.19 Stable
released this
2025-05-24 14:32:34 +03:00 | 28 commits to main since this releaseВ этом релизе было добавлено перечисление
VarNotBoolAction, для определения действий в классеBoolExtensions(методыAnyTrueиTrueCount), если передана часть не булевого типа.Также в этом релизе было обновлено расширение
BoolExtensions: в методахAnyTrueиTrueCountубран выброс исключения, если какой-то аргумент из массиваexpressionsне является булевым типом. Вместо него в обоих методах введён необязательный параметр$ifNotBool(типVarNotBoolAction), который определяет действие: игнорирование (этот аргумент просто исключается из проверки), считать правдивым (вместо него ставитсяtrue) или считать ложным (вместо него ставитсяfalse). По умолчанию, этому параметру в обоих этих методах определено значение игнорировать.Downloads
-
v1.0.18 Stable
released this
2025-05-22 22:04:23 +03:00 | 29 commits to main since this releaseВ этом релизе исправлен баг сериализации в классах
DictionaryиObjectArray. Теперь классы нормально восстанавливаются.Downloads
-
v1.0.17 Stable
released this
2025-05-20 12:43:03 +03:00 | 30 commits to main since this releaseВ этом релизе в класс
Dictionaryбыли добавлены 2 метода:AddRange (array $dictionary), который добавляет элементы в виде ассоциативного массива ключ => значение в словарь;ToArray (), который возвращает все элементы словаря в виде массива..
Downloads
-
v1.0.16 Stable
released this
2025-05-19 07:05:30 +03:00 | 31 commits to main since this releaseВ этом релизе был исправлен баг с сериализацией в классах
DictionaryиObjectArray. Теперь классы нормально восстанавливаются.Downloads