DegradedUuid
class DegradedUuid extends Uuid (View source)
DegradedUuid represents an RFC 4122 UUID on 32-bit systems
Constants
NAMESPACE_DNS |
When this namespace is specified, the name string is a fully-qualified domain name. |
NAMESPACE_URL |
When this namespace is specified, the name string is a URL. |
NAMESPACE_OID |
When this namespace is specified, the name string is an ISO OID. |
NAMESPACE_X500 |
When this namespace is specified, the name string is an X.500 DN in DER or a text output format. |
NIL |
The nil UUID is special form of UUID that is specified to have all 128 bits set to zero. |
RESERVED_NCS |
Reserved for NCS compatibility. |
RFC_4122 |
Specifies the UUID layout given in RFC 4122. |
RESERVED_MICROSOFT |
Reserved for Microsoft compatibility. |
RESERVED_FUTURE |
Reserved for future definition. |
VALID_PATTERN |
Regular expression pattern for matching a valid UUID of any variant. |
UUID_TYPE_TIME |
Version 1 (time-based) UUID object constant identifier |
UUID_TYPE_IDENTIFIER |
Version 2 (identifier-based) UUID object constant identifier |
UUID_TYPE_HASH_MD5 |
Version 3 (name-based and hashed with MD5) UUID object constant identifier |
UUID_TYPE_RANDOM |
Version 4 (random) UUID object constant identifier |
UUID_TYPE_HASH_SHA1 |
Version 5 (name-based and hashed with SHA1) UUID object constant identifier |
Properties
protected CodecInterface | $codec | The codec to use when encoding or decoding UUID strings. | from Uuid |
protected array | $fields | The fields that make up this UUID. | from Uuid |
protected NumberConverterInterface | $converter | The number converter to use for converting hex values to/from integers. | from Uuid |
Methods
Creates a universally unique identifier (UUID) from an array of fields.
Converts this UUID object to a string when the object is used in any string context.
Converts this UUID object to a string when the object is serialized
with json_encode()
Converts this UUID object to a string when the object is serialized
with serialize()
Returns the UUID as a 16-byte string (containing the six integer fields in big-endian byte order).
Returns the high field of the clock sequence multiplexed with the variant (bits 65-72 of the UUID).
Returns the high field of the clock sequence multiplexed with the variant (bits 65-72 of the UUID).
Returns the low field of the clock sequence (bits 73-80 of the UUID).
Returns the low field of the clock sequence (bits 73-80 of the UUID).
Returns the number converter to use for converting hex values to/from integers.
Returns a PHP DateTime
object representing the timestamp associated
with this UUID.
For degraded UUIDs, throws an UnsatisfiedDependencyException
when
called on a 32-bit system
Returns an array of the fields of this UUID, with keys named according to the RFC 4122 names for the fields.
Returns the integer value of the UUID, converted to an appropriate number representation.
Returns the least significant 64 bits of this UUID's 128 bit value.
Returns the least significant 64 bits of this UUID's 128 bit value.
Returns the most significant 64 bits of this UUID's 128 bit value.
Returns the most significant 64 bits of this UUID's 128 bit value.
For degraded UUIDs, throws an UnsatisfiedDependencyException
when
called on a 32-bit system
Returns the high field of the timestamp multiplexed with the version number (bits 49-64 of the UUID).
Returns the high field of the timestamp multiplexed with the version number (bits 49-64 of the UUID).
For degraded UUIDs, throws an UnsatisfiedDependencyException
when
called on a 32-bit system
Returns the low field of the timestamp (the first 32 bits of the UUID).
Returns the middle field of the timestamp (bits 33-48 of the UUID).
For degraded UUIDs, throws an UnsatisfiedDependencyException
when
called on a 32-bit system
Returns the currently set factory used to create UUIDs.
Creates a UUID from the string standard representation.
Creates a UUID from a 128-bit integer string.
Generate a version 1 UUID from a host ID, sequence number, and the current time.
Generate a version 3 UUID based on the MD5 hash of a namespace identifier (which is a UUID) and a name (which is a string).
Generate a version 5 UUID based on the SHA-1 hash of a namespace identifier (which is a UUID) and a name (which is a string).
Details
__construct(array $fields, NumberConverterInterface $converter, CodecInterface $codec)
Creates a universally unique identifier (UUID) from an array of fields.
Unless you're making advanced use of this library to generate identifiers that deviate from RFC 4122, you probably do not want to instantiate a UUID directly. Use the static methods, instead:
use Ramsey\Uuid\Uuid;
$timeBasedUuid = Uuid::uuid1();
$namespaceMd5Uuid = Uuid::uuid3(Uuid::NAMESPACE_URL, 'http://php.net/');
$randomUuid = Uuid::uuid4();
$namespaceSha1Uuid = Uuid::uuid5(Uuid::NAMESPACE_URL, 'http://php.net/');
string
__toString()
Converts this UUID object to a string when the object is used in any string context.
string
jsonSerialize()
Converts this UUID object to a string when the object is serialized
with json_encode()
string
serialize()
Converts this UUID object to a string when the object is serialized
with serialize()
unserialize(string $serialized)
Re-constructs the object from its serialized form.
int
compareTo(UuidInterface $other)
Compares this UUID to the specified UUID.
The first of two UUIDs is greater than the second if the most significant field in which the UUIDs differ is greater for the first UUID.
- Q. What's the value of being able to sort UUIDs?
- A. Use them as keys in a B-Tree or similar mapping.
bool
equals(object $other)
Compares this object to the specified object.
The result is true if and only if the argument is not null, is a UUID object, has the same variant, and contains the same value, bit for bit, as this UUID.
string
getBytes()
Returns the UUID as a 16-byte string (containing the six integer fields in big-endian byte order).
int
getClockSeqHiAndReserved()
Returns the high field of the clock sequence multiplexed with the variant (bits 65-72 of the UUID).
string
getClockSeqHiAndReservedHex()
Returns the high field of the clock sequence multiplexed with the variant (bits 65-72 of the UUID).
int
getClockSeqLow()
Returns the low field of the clock sequence (bits 73-80 of the UUID).
string
getClockSeqLowHex()
Returns the low field of the clock sequence (bits 73-80 of the UUID).
int
getClockSequence()
Returns the clock sequence value associated with this UUID.
For UUID version 1, the clock sequence is used to help avoid duplicates that could arise when the clock is set backwards in time or if the node ID changes.
For UUID version 3 or 5, the clock sequence is a 14-bit value constructed from a name as described in RFC 4122, Section 4.3.
For UUID version 4, clock sequence is a randomly or pseudo-randomly generated 14-bit value as described in RFC 4122, Section 4.4.
string
getClockSequenceHex()
Returns the clock sequence value associated with this UUID.
NumberConverterInterface
getNumberConverter()
Returns the number converter to use for converting hex values to/from integers.
at line 27
DateTime
getDateTime()
Returns a PHP DateTime
object representing the timestamp associated
with this UUID.
The timestamp value is only meaningful in a time-based UUID, which
has version type 1. If this UUID is not a time-based UUID then
this method throws UnsupportedOperationException
.
at line 50
array
getFields()
For degraded UUIDs, throws an UnsatisfiedDependencyException
when
called on a 32-bit system
array
getFieldsHex()
Returns an array of the fields of this UUID, with keys named according to the RFC 4122 names for the fields.
- time_low: The low field of the timestamp, an unsigned 32-bit integer
- time_mid: The middle field of the timestamp, an unsigned 16-bit integer
- time_hi_and_version: The high field of the timestamp multiplexed with the version number, an unsigned 16-bit integer
- clock_seq_hi_and_reserved: The high field of the clock sequence multiplexed with the variant, an unsigned 8-bit integer
- clock_seq_low: The low field of the clock sequence, an unsigned 8-bit integer
- node: The spatially unique node identifier, an unsigned 48-bit integer
mixed
getInteger()
Returns the integer value of the UUID, converted to an appropriate number representation.
mixed
getLeastSignificantBits()
Returns the least significant 64 bits of this UUID's 128 bit value.
string
getLeastSignificantBitsHex()
Returns the least significant 64 bits of this UUID's 128 bit value.
mixed
getMostSignificantBits()
Returns the most significant 64 bits of this UUID's 128 bit value.
string
getMostSignificantBitsHex()
Returns the most significant 64 bits of this UUID's 128 bit value.
at line 65
int
getNode()
For degraded UUIDs, throws an UnsatisfiedDependencyException
when
called on a 32-bit system
string
getNodeHex()
Returns the node value associated with this UUID
For UUID version 1, the node field consists of an IEEE 802 MAC address, usually the host address. For systems with multiple IEEE 802 addresses, any available one can be used. The lowest addressed octet (octet number 10) contains the global/local bit and the unicast/multicast bit, and is the first octet of the address transmitted on an 802.3 LAN.
For systems with no IEEE address, a randomly or pseudo-randomly generated value may be used; see RFC 4122, Section 4.5. The multicast bit must be set in such addresses, in order that they will never conflict with addresses obtained from network cards.
For UUID version 3 or 5, the node field is a 48-bit value constructed from a name as described in RFC 4122, Section 4.3.
For UUID version 4, the node field is a randomly or pseudo-randomly generated 48-bit value as described in RFC 4122, Section 4.4.
int
getTimeHiAndVersion()
Returns the high field of the timestamp multiplexed with the version number (bits 49-64 of the UUID).
string
getTimeHiAndVersionHex()
Returns the high field of the timestamp multiplexed with the version number (bits 49-64 of the UUID).
at line 81
int
getTimeLow()
For degraded UUIDs, throws an UnsatisfiedDependencyException
when
called on a 32-bit system
string
getTimeLowHex()
Returns the low field of the timestamp (the first 32 bits of the UUID).
int
getTimeMid()
Returns the middle field of the timestamp (bits 33-48 of the UUID).
string
getTimeMidHex()
Returns the middle field of the timestamp (bits 33-48 of the UUID).
at line 98
int
getTimestamp()
For degraded UUIDs, throws an UnsatisfiedDependencyException
when
called on a 32-bit system
string
getTimestampHex()
Returns the timestamp value associated with this UUID.
The 60 bit timestamp value is constructed from the time_low, time_mid, and time_hi fields of this UUID. The resulting timestamp is measured in 100-nanosecond units since midnight, October 15, 1582 UTC.
The timestamp value is only meaningful in a time-based UUID, which has version type 1. If this UUID is not a time-based UUID then this method throws UnsupportedOperationException.
int
getVariant()
Returns the variant number associated with this UUID.
The variant number describes the layout of the UUID. The variant number has the following meaning:
- 0 - Reserved for NCS backward compatibility
- 2 - The RFC 4122 variant (used by this class)
- 6 - Reserved, Microsoft Corporation backward compatibility
- 7 - Reserved for future definition
int|null
getVersion()
Returns the version number associated with this UUID.
The version number describes how this 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
Returns null if this UUID is not an RFC 4122 variant, since version is only meaningful for this variant.
static UuidFactoryInterface
getFactory()
Returns the currently set factory used to create UUIDs.
static
setFactory(UuidFactoryInterface $factory)
Sets the factory used to create UUIDs.
static UuidInterface
fromBytes(string $bytes)
Creates a UUID from a byte string.
static UuidInterface
fromString(string $name)
Creates a UUID from the string standard representation.
static UuidInterface
fromInteger(string $integer)
Creates a UUID from a 128-bit integer string.
static UuidInterface
uuid1(int|string $node = null, int $clockSeq = null)
Generate a version 1 UUID from a host ID, sequence number, and the current time.
static UuidInterface
uuid3(string $ns, string $name)
Generate a version 3 UUID based on the MD5 hash of a namespace identifier (which is a UUID) and a name (which is a string).
static UuidInterface
uuid4()
Generate a version 4 (random) UUID.
static UuidInterface
uuid5(string $ns, string $name)
Generate a version 5 UUID based on the SHA-1 hash of a namespace identifier (which is a UUID) and a name (which is a string).