• v1.0.23 Stable

    babaev-an 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