20250628 1.1 Beta 2

This commit is contained in:
2025-06-28 23:22:37 +03:00
parent f5420ce2c0
commit 58b3b74d99
6 changed files with 301 additions and 63 deletions

View File

@@ -3,6 +3,7 @@
namespace goodboyalex\php_components_pack\exceptions;
use Exception;
use goodboyalex\php_components_pack\enums\JsonErrorCode;
/**
* Ошибка работы с JSON.
@@ -15,33 +16,32 @@ use Exception;
final class JsonException extends Exception
{
/**
* @var string|null $JsonFileName Имя файла JSON.
* @var string|null $JsonString Строка JSON.
*/
public ?string $JsonFileName;
public ?string $JsonString;
/**
* @link https://www.php.net/manual/ru/function.json-last-error.php
* @var int $JsonErrorCode Код ошибки JSON.
* @var JsonErrorCode $ErrorCode Код ошибки JSON.
*/
public int $JsonErrorCode;
public JsonErrorCode $ErrorCode;
/**
* @link https://www.php.net/manual/ru/function.json-last-error-msg.php
* @var string|null $JsonErrorMessage Сообщение об ошибке JSON.
* @var string|null $ErrorMessage Сообщение об ошибке JSON.
*
* Внимание! В отличие от функции json_last_error_msg(), данная переменная при отсутствии ошибок выводит null, а не
* "No error".
*/
public ?string $JsonErrorMessage;
public ?string $ErrorMessage;
/**
* Конструктор.
*
* @param string|null $fileName Имя файла JSON.
* @param int $errorCode Код ошибки JSON.
* @param string|null $json Строка JSON.
* @param JsonErrorCode $errorCode Код ошибки JSON.
* @param string|null $errorMessage Сообщение об ошибке JSON.
*/
public function __construct (?string $fileName = null, int $errorCode = JSON_ERROR_NONE,
public function __construct (?string $json = null, JsonErrorCode $errorCode = JsonErrorCode::Unknown,
?string $errorMessage = null)
{
// Если код ошибки JSON равен 0
@@ -50,7 +50,7 @@ final class JsonException extends Exception
$errorMessage = null;
// Сохраняем сообщение об ошибке
$this->JsonErrorMessage = $errorMessage;
$this->ErrorMessage = $errorMessage;
// Если сообщение пусто, то присваиваем ему "" для совместимости
$errorMessage = $errorMessage ?? "";
@@ -59,9 +59,9 @@ final class JsonException extends Exception
parent::__construct($errorMessage);
// Присваиваем имя файла
$this->JsonFileName = $fileName;
$this->JsonString = $json;
// Присваиваем код ошибки
$this->JsonErrorCode = $errorCode;
$this->ErrorCode = $errorCode;
}
}