Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
e9118609b6 |
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## Информация о версии
|
## Информация о версии
|
||||||
|
|
||||||
Версия класса: 1.1
|
Версия класса: 1.2
|
||||||
|
|
||||||
Впервые введено в пакет с версии: 1.0.24
|
Впервые введено в пакет с версии: 1.0.24
|
||||||
Последнее обновление в версии: 1.0.27
|
Последнее обновление в версии: 1.0.27
|
||||||
@ -370,4 +370,50 @@
|
|||||||
|
|
||||||
В результате на экране появится:
|
В результате на экране появится:
|
||||||
|
|
||||||
false|true|false
|
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
|
@ -11,7 +11,7 @@ use goodboyalex\php_components_pack\extensions\StringExtension;
|
|||||||
*
|
*
|
||||||
* @author Александр Бабаев
|
* @author Александр Бабаев
|
||||||
* @package php_components_pack
|
* @package php_components_pack
|
||||||
* @version 1.1
|
* @version 1.2
|
||||||
* @since 1.0.24
|
* @since 1.0.24
|
||||||
*/
|
*/
|
||||||
final class VersionInfo
|
final class VersionInfo
|
||||||
@ -306,6 +306,7 @@ final class VersionInfo
|
|||||||
* @return int Возвращает 1, если текущая версия старше интервала, 0, если находится в интервале, -1, если текущая
|
* @return int Возвращает 1, если текущая версия старше интервала, 0, если находится в интервале, -1, если текущая
|
||||||
* версия младше интервала.
|
* версия младше интервала.
|
||||||
*
|
*
|
||||||
|
* @version 1.1
|
||||||
* @since 1.0.27
|
* @since 1.0.27
|
||||||
*/
|
*/
|
||||||
public function CompareWithRange (?VersionInfo $left = null, ?VersionInfo $right = null,
|
public function CompareWithRange (?VersionInfo $left = null, ?VersionInfo $right = null,
|
||||||
@ -317,17 +318,11 @@ final class VersionInfo
|
|||||||
VersionCompareRangeOption::RightBorderIncluded
|
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)
|
if ($leftBorder->CompareWith($rightBorder) == 0)
|
||||||
@ -369,4 +364,28 @@ final class VersionInfo
|
|||||||
// -- в противном случае, версия старше правой границы (или равна ей при не включении границы)
|
// -- в противном случае, версия старше правой границы (или равна ей при не включении границы)
|
||||||
return 1;
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user