20250818
This commit is contained in:
168
tests/secret_not_in_git/Converters.php
Normal file
168
tests/secret_not_in_git/Converters.php
Normal file
@@ -0,0 +1,168 @@
|
||||
<?php
|
||||
|
||||
namespace goodboyalex\php_db_components_pack\tests\secret_not_in_git;
|
||||
|
||||
use BackedEnum;
|
||||
use goodboyalex\php_components_pack\types\GUID;
|
||||
|
||||
/**
|
||||
* Класс конвертации для моделей.
|
||||
*
|
||||
* @author Александр Бабаев
|
||||
* @package freecms
|
||||
* @version 0.1
|
||||
* @since 0.1
|
||||
*/
|
||||
final class Converters
|
||||
{
|
||||
/**
|
||||
* Преобразует GUID в строковое представление.
|
||||
*
|
||||
* @param GUID $guid GUID.
|
||||
*
|
||||
* @return string GUID в строковом представлении.
|
||||
*/
|
||||
public static function GUIDToString (GUID $guid): string
|
||||
{
|
||||
return $guid->ToString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Преобразует строковое представление GUID в объект GUID.
|
||||
*
|
||||
* @param string $guid Строковое представление GUID.
|
||||
*
|
||||
* @return GUID Преобразует строковое представление GUID в объект GUID или GUID_EMPTY.
|
||||
*/
|
||||
public static function GUIDFromString (string $guid): GUID
|
||||
{
|
||||
return GUID::Parse($guid, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Проверяет равенство двух GUID.
|
||||
*
|
||||
* @param GUID $guid1 GUID 1.
|
||||
* @param GUID $guid2 GUID 2.
|
||||
*
|
||||
* @return bool true, если GUID равны, false - иначе.
|
||||
*/
|
||||
public static function IsGUIDEqual (GUID $guid1, GUID $guid2): bool
|
||||
{
|
||||
return $guid1->IsEqualsTo($guid2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Преобразует объект перечисления в значение.
|
||||
*
|
||||
* @param BackedEnum $enum Перечисление.
|
||||
*
|
||||
* @return int Значение перечисления.
|
||||
*/
|
||||
public static function BackedEnumToInt (BackedEnum $enum): int
|
||||
{
|
||||
return $enum->value;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param int $value Значение перечисления.
|
||||
*
|
||||
* @return BackedEnum Перечисление.
|
||||
*/
|
||||
public static function BackedEnumFromInt (int $value): BackedEnum
|
||||
{
|
||||
return BackedEnum::tryFrom($value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Сравнивает два значения перечисления.
|
||||
*
|
||||
* @param BackedEnum $enum1 Перечисление 1.
|
||||
* @param BackedEnum $enum2 Перечисление 2.
|
||||
*
|
||||
* @return bool true, если значения равны, false - иначе.
|
||||
*/
|
||||
public static function IsBackedEnumEqual (BackedEnum $enum1, BackedEnum $enum2): bool
|
||||
{
|
||||
return $enum1->value === $enum2->value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Преобразует логическое значение в целочисленное.
|
||||
*
|
||||
* @param bool $boolValue Значение.
|
||||
*
|
||||
* @return int Значение 0 или 1.
|
||||
*/
|
||||
public static function BoolToInt (bool $boolValue): int
|
||||
{
|
||||
return $boolValue ? 1 : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Преобразует целочисленное значение в логическое.
|
||||
*
|
||||
* @param int $value Значение 0 или 1.
|
||||
*
|
||||
* @return bool Логическое значение.
|
||||
*/
|
||||
public static function BoolFromInt (int $value): bool
|
||||
{
|
||||
return $value > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Сравнивает два логических значения.
|
||||
*
|
||||
* @param bool $bool1 Значение 1.
|
||||
* @param bool $bool2 Значение 2.
|
||||
*
|
||||
* @return bool true, если значения равны, false - иначе.
|
||||
*/
|
||||
public static function IsBoolEqual (bool $bool1, bool $bool2): bool
|
||||
{
|
||||
return ($bool1 == true && $bool2 == true) || ($bool1 == false && $bool2 == false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Преобразует массив в строку.
|
||||
*
|
||||
* @param array $array Массив.
|
||||
*
|
||||
* @return string Сериализованный массив.
|
||||
*/
|
||||
public static function ArrayToString (array $array): string
|
||||
{
|
||||
return serialize($array);
|
||||
}
|
||||
|
||||
/**
|
||||
* Преобразует строковое представление массива в массив.
|
||||
*
|
||||
* @param string $value Строковое представление массива.
|
||||
*
|
||||
* @return array Массив.
|
||||
*/
|
||||
public static function ArrayFromString (string $value): array
|
||||
{
|
||||
return unserialize($value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Сравнивает два массива.
|
||||
*
|
||||
* @param array $array1 Массив 1.
|
||||
* @param array $array2 Массив 2.
|
||||
*
|
||||
* @return bool true, если значения равны, false - иначе.
|
||||
*/
|
||||
public static function IsArrayEqual (array $array1, array $array2): bool
|
||||
{
|
||||
// Получаем разницу между массивами
|
||||
$difference = array_diff($array1, $array2);
|
||||
|
||||
// Если разница пуста, значит массивы равны
|
||||
return empty($difference);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user