Compare commits

..

No commits in common. "main" and "v1.0.27" have entirely different histories.

2 changed files with 11 additions and 76 deletions

View File

@ -2,7 +2,7 @@
## Информация о версии
Версия класса: 1.2
Версия класса: 1.1
Впервые введено в пакет с версии: 1.0.24
Последнее обновление в версии: 1.0.27
@ -371,49 +371,3 @@
В результате на экране появится:
false|true|false
#### Метод `MinVersion`
Введено в версии `1.0.28`.
Этот **статический** метод **без параметров** возвращает минимальную версию (объект класса `VersionInfo`).
Синтаксис:
public static function MinVersion (): VersionInfo
Пример,
// Создаю объекты
$version = VersionInfo::MinVersion();
// Вывожу
echo $version;
В результате на экране появится:
0.0.0.0 PreAlpha 0
#### Метод `MaxVersion`
Введено в версии `1.0.28`.
Этот **статический** метод **без параметров** возвращает максимальную версию (объект класса `VersionInfo`).
Синтаксис:
public static function MaxVersion (): VersionInfo
Пример,
// Создаю объекты
$version = VersionInfo::MaxVersion();
// В этом примере считается, что константа PHP_INT_MAX равна 9223372036854775807
// Вывожу
echo $version;
В результате на экране появится:
9223372036854775807.9223372036854775807.9223372036854775807.9223372036854775807

View File

@ -11,7 +11,7 @@ use goodboyalex\php_components_pack\extensions\StringExtension;
*
* @author Александр Бабаев
* @package php_components_pack
* @version 1.2
* @version 1.1
* @since 1.0.24
*/
final class VersionInfo
@ -306,7 +306,6 @@ final class VersionInfo
* @return int Возвращает 1, если текущая версия старше интервала, 0, если находится в интервале, -1, если текущая
* версия младше интервала.
*
* @version 1.1
* @since 1.0.27
*/
public function CompareWithRange (?VersionInfo $left = null, ?VersionInfo $right = null,
@ -318,11 +317,17 @@ final class VersionInfo
VersionCompareRangeOption::RightBorderIncluded
]);
// Минимальная версия (случай, когда левая граница не указана)
$minVersion = new VersionInfo(0, 0, 0, 0, VersionInfoStage::PreAlpha, 0);
// Максимальная версия (случай, когда правая граница не указана)
$maxVersion = new VersionInfo(PHP_INT_MAX, PHP_INT_MAX, PHP_INT_MAX, PHP_INT_MAX, VersionInfoStage::Stable);
// Устанавливаем левую границу
$leftBorder = $left ?? self::MinVersion();
$leftBorder = $left ?? $minVersion;
// Устанавливаем правую границу
$rightBorder = $right ?? self::MaxVersion();
$rightBorder = $right ?? $maxVersion;
// Проверяем, что границы не перепутаны
if ($leftBorder->CompareWith($rightBorder) == 0)
@ -364,28 +369,4 @@ final class VersionInfo
// -- в противном случае, версия старше правой границы (или равна ей при не включении границы)
return 1;
}
/**
* Возвращает минимальную версию.
*
* @return VersionInfo Минимальная версия.
*
* @since 1.0.28
*/
public static function MinVersion (): VersionInfo
{
return new VersionInfo(0, 0, 0, 0, VersionInfoStage::PreAlpha, 0);
}
/**
* Возвращает максимальную версию.
*
* @return VersionInfo Максимальная версия.
*
* @since 1.0.28
*/
public static function MaxVersion (): VersionInfo
{
return new VersionInfo(PHP_INT_MAX, PHP_INT_MAX, PHP_INT_MAX, PHP_INT_MAX, VersionInfoStage::Stable);
}
}