Documentation

Fields
in package
implements FieldsInterface Uses NilTrait, SerializableFieldsTrait, VariantTrait, VersionTrait

GUIDs are comprised of a set of named fields, according to RFC 4122

Tags
see
Guid
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
isCorrectVariant()  : bool
isCorrectVersion()  : bool
Returns true if the version matches one of those defined by RFC 4122

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

throws
InvalidArgumentException

if the byte string does not represent a GUID

throws
InvalidArgumentException

if the byte string does not contain a valid version

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 abstract isNil() : bool
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

isCorrectVariant()

private isCorrectVariant() : bool
Return values
bool

isCorrectVersion()

Returns true if the version matches one of those defined by RFC 4122

private isCorrectVersion() : bool
Return values
bool

True if the UUID version is valid, false otherwise

Search results