-
v1.0.25 Stable
released this
2025-06-14 09:54:44 +03:00 | 1 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 | 2 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 | 3 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 | 4 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.20 Stable
released this
2025-05-25 12:46:16 +03:00 | 8 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 | 9 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 | 10 commits to main since this releaseВ этом релизе исправлен баг сериализации в классах
Dictionary
иObjectArray
. Теперь классы нормально восстанавливаются.Downloads
-
v1.0.17 Stable
released this
2025-05-20 12:43:03 +03:00 | 11 commits to main since this releaseВ этом релизе в класс
Dictionary
были добавлены 2 метода:AddRange (array $dictionary)
, который добавляет элементы в виде ассоциативного массива ключ => значение в словарь;ToArray ()
, который возвращает все элементы словаря в виде массива..
Downloads