class SemanticVersion implements StringRepresentation, IntegerRepresentation, ComparableInterface (View source)

Semantic version

Constants

MAJOR

Major version number key

MINOR

Minor version number key

PATCH

Patch level number key

PRE_RELEASE

Pre-release string key

METADATA

Metadata key

PATTERN

Semanic version format pattern

PATTERN_MODIFIERS

Properties

integer $major Major version number
integer $minor Minor version number
integer $patch Patch level number
string $prerelease Pre-release data
string $metadata Metadata

Methods

__construct(array|string|integer $version, number $integerFormBase10Exponent = 2)

No description

__clone()

Deep clone of pre-release and metadata internal object

set(array|string|integer $version, number $integerFormBase10Exponent = 2)

No description

setIntegerFormBase10Exponent($integerFormBase10Exponent)

No description

string
__toString()

String representation of the semantic version

string
slice(string|integer $from, string|integer $to)

Get a portion of the version string

integer
getIntegerValue()

Integer representation of the version.

number|string
__get(string $member)

Get version number component

__set(string $member, mixed $value)

Set version number part value

integer
compare(SemanticVersion|string|numbern $b)

Compare the version number against another one.

static number
compareVersions(mixed $a, mixed $b)

Compare two versions

Details

__construct(array|string|integer $version, number $integerFormBase10Exponent = 2)

Parameters

array|string|integer $version Version number
number $integerFormBase10Exponent Number of digits used to represent each part of the version number in a integer re.presentation

__clone()

Deep clone of pre-release and metadata internal object

set(array|string|integer $version, number $integerFormBase10Exponent = 2)

Parameters

array|string|integer $version Version number
number $integerFormBase10Exponent Number of digits used to represent each part of the version number in a integer .* representation.

setIntegerFormBase10Exponent($integerFormBase10Exponent)

Parameters

$integerFormBase10Exponent

string __toString()

String representation of the semantic version

Return Value

string The string representation of the class instance

string slice(string|integer $from, string|integer $to)

Get a portion of the version string

Parameters

string|integer $from Start from the given version part.
string|integer $to Ends with the given version part.

Return Value

string

integer getIntegerValue()

Integer representation of the version.

Computed as (MAJOR * 10000) + (MINOR * 100) + PATCH

Return Value

integer Integer representation of the class instance

number|string __get(string $member)

Get version number component

Parameters

string $member Version number component

Return Value

number|string Version number component

Exceptions

InvalidArgumentException

__set(string $member, mixed $value)

Set version number part value

Parameters

string $member Version number part.
mixed $value Value

Exceptions

InvalidArgumentException

integer compare(SemanticVersion|string|numbern $b)

Compare the version number against another one.

Parameters

SemanticVersion|string|numbern $b Version nuber to compare.

Return Value

integer One of

  • < 0 If instance value is less than $value
  • 0 if instance and $value are equal
  • > 0 if instance value is greater than $value
    The meaning of "less", "equal" and "greater" depends on class value type.

static number compareVersions(mixed $a, mixed $b)

Compare two versions

Parameters

mixed $a
mixed $b

Return Value

number
  • < 0 if $a have lower precedence than $b/li>
  • 0 if $a have the same precedence than $b/li>
  • >0 0 if $a have higher precedence than $b/li>