diff --git a/sources/classes/VersionInfo.md b/sources/classes/VersionInfo.md index ab66c45..1d930d0 100644 --- a/sources/classes/VersionInfo.md +++ b/sources/classes/VersionInfo.md @@ -2,7 +2,7 @@ ## Информация о версии -Версия класса: 1.1 +Версия класса: 1.2 Впервые введено в пакет с версии: 1.0.24 Последнее обновление в версии: 1.0.27 @@ -370,4 +370,50 @@ В результате на экране появится: - false|true|false \ No newline at end of file + 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 \ No newline at end of file diff --git a/sources/classes/VersionInfo.php b/sources/classes/VersionInfo.php index dfb44f4..bc0d846 100644 --- a/sources/classes/VersionInfo.php +++ b/sources/classes/VersionInfo.php @@ -11,7 +11,7 @@ use goodboyalex\php_components_pack\extensions\StringExtension; * * @author Александр Бабаев * @package php_components_pack - * @version 1.1 + * @version 1.2 * @since 1.0.24 */ final class VersionInfo @@ -306,6 +306,7 @@ final class VersionInfo * @return int Возвращает 1, если текущая версия старше интервала, 0, если находится в интервале, -1, если текущая * версия младше интервала. * + * @version 1.1 * @since 1.0.27 */ public function CompareWithRange (?VersionInfo $left = null, ?VersionInfo $right = null, @@ -317,17 +318,11 @@ 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 ?? $minVersion; + $leftBorder = $left ?? self::MinVersion(); // Устанавливаем правую границу - $rightBorder = $right ?? $maxVersion; + $rightBorder = $right ?? self::MaxVersion(); // Проверяем, что границы не перепутаны if ($leftBorder->CompareWith($rightBorder) == 0) @@ -369,4 +364,28 @@ 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); + } } \ No newline at end of file