Documentation

Fields
in package
implements FieldsInterface Uses SerializableFieldsTrait, VariantTrait

Nonstandard UUID fields do not conform to the RFC 4122 standard

Since some systems may create nonstandard UUIDs, this implements the Rfc4122\FieldsInterface, so that functionality of a nonstandard UUID is not degraded, in the event these UUIDs are expected to contain RFC 4122 fields.

Internally, this class represents the fields together as a 16-byte binary string.

Tags
psalm-immutable

Interfaces, Classes, Traits and Enums

FieldsInterface
RFC 4122 defines fields for a specific variant of UUID

Table of Contents

$bytes  : string
__construct()  : mixed
__serialize()  : array<string|int, mixed>
__unserialize()  : void
getBytes()  : string
getClockSeq()  : Hexadecimal
Returns the full 16-bit clock sequence, with the variant bits (two most significant bits) masked out
getClockSeqHiAndReserved()  : Hexadecimal
Returns the high field of the clock sequence multiplexed with the variant
getClockSeqLow()  : Hexadecimal
Returns the low field of the clock sequence
getNode()  : Hexadecimal
Returns the node field
getTimeHiAndVersion()  : Hexadecimal
Returns the high field of the timestamp multiplexed with the version
getTimeLow()  : Hexadecimal
Returns the low field of the timestamp
getTimeMid()  : Hexadecimal
Returns the middle field of the timestamp
getTimestamp()  : Hexadecimal
Returns the full 60-bit timestamp, without the version
getVariant()  : int
Returns the variant identifier, according to RFC 4122, for the given bytes
getVersion()  : int|null
Returns the version
isNil()  : bool
Returns true if these fields represent a nil UUID
serialize()  : string
Returns a string representation of object
unserialize()  : void
Constructs the object from a serialized string representation

Properties

Methods

__construct()

public __construct(string $bytes) : mixed
Parameters
$bytes : string

A 16-byte binary string representation of a UUID

Tags
throws
InvalidArgumentException

if the byte string is not exactly 16 bytes

Return values
mixed

__serialize()

public __serialize() : array<string|int, mixed>
Return values
array<string|int, mixed>

__unserialize()

public __unserialize(array<string|int, mixed> $data) : void
Parameters
$data : array<string|int, mixed>
Return values
void

getBytes()

public getBytes() : string
Return values
string

getClockSeq()

Returns the full 16-bit clock sequence, with the variant bits (two most significant bits) masked out

public getClockSeq() : Hexadecimal
Return values
Hexadecimal

getClockSeqHiAndReserved()

Returns the high field of the clock sequence multiplexed with the variant

public getClockSeqHiAndReserved() : Hexadecimal
Return values
Hexadecimal

getTimeHiAndVersion()

Returns the high field of the timestamp multiplexed with the version

public getTimeHiAndVersion() : Hexadecimal
Return values
Hexadecimal

getVariant()

Returns the variant identifier, according to RFC 4122, for the given bytes

public getVariant() : int

The following values may be returned:

  • 0 -- Reserved, NCS backward compatibility.
  • 2 -- The variant specified in RFC 4122.
  • 6 -- Reserved, Microsoft Corporation backward compatibility.
  • 7 -- Reserved for future definition.
Tags
link

RFC 4122, § 4.1.1: Variant

Return values
int

The variant identifier, according to RFC 4122

getVersion()

Returns the version

public getVersion() : int|null

The version number describes how the UUID was generated and has the following meaning:

  1. Time-based UUID
  2. DCE security UUID
  3. Name-based UUID hashed with MD5
  4. Randomly generated UUID
  5. Name-based UUID hashed with SHA-1

This returns null if the UUID is not an RFC 4122 variant, since version is only meaningful for this variant.

Return values
int|null

isNil()

Returns true if these fields represent a nil UUID

public isNil() : bool

The nil UUID is special form of UUID that is specified to have all 128 bits set to zero.

Return values
bool

serialize()

Returns a string representation of object

public serialize() : string
Return values
string

unserialize()

Constructs the object from a serialized string representation

public unserialize(string $serialized) : void
Parameters
$serialized : string

The serialized string representation of the object

Tags
phpcsSuppress

SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint

psalm-suppress

UnusedMethodCall

Return values
void

Search results