class UUID extends UUID

UUID

Erweiterte UUID-Klasse für die Benutzung mit einem Active-Directory

Constants

TIMEBASED

ursprüngliche, zeitstempelbasierte UUID

DCEBASED

DCE Security version (nicht implementiert)

NAMEMD5BASED

namensbasiert, MD5-gehasht

RANDOMBASED

zufällig oder pseudozufällige UUID

NAMESHA1BASED

namensbasiert, SHA1-gehasht

NSDNS

Namespace für DNS Hostname Vordefinierte Namespaces, siehe Appendix C of RFC 4122

NSURL

Namespace für eine gültige URL Vordefinierte Namespaces, siehe Appendix C of RFC 4122

NSOID

Namespace für ISO Object Identifier Vordefinierte Namespaces, siehe Appendix C of RFC 4122

NSX500

Namespace für X.500 Objekte Vordefinierte Namespaces, siehe Appendix C of RFC 4122

Methods

__construct(int $version, int $timeLow, int $timeMid, int $timeHi, int $clockSeqHi, int $clockSeqLow, string $node)

UUID erstellen

from UUID
static UUID
generateFromTime(string $node = null)

Erstellt ein neues UUID Objekt nach Version 1 der Spezifikation, bestehend aus einem Zeitstempel und der Node-ID (entweder eine gültige MAC-Adresse, oder ein Zufallswert). Anhand einer solchen UUID lassen sich Rückschlüsse auf den Zeitpunkt der Erstellung und auf den Rechner ziehen.

from UUID
static UUID
generateFromName(string $namespace, string $name, int $hashAlgorithm = self::NAMESHA1BASED)

Erstellt eine UUID aus einem Namespace und einen Namen. Eine über einen Namen erstellt UUID muss immer wieder zum selben Ergebnis führen. Eine UUID im Namespace A aus dem Namen B und eine UUID C im Namespace D können identisch sein.

from UUID
static UUID
generateFromString(string $uuid)

Liegt die UUID im String-Format (74738ff5-5367-5958-9aee-98fffdcd1876) vor, so kann über diese Funktion ein UUID-Objekt aus dem String erstellt werden. Sollte es sich bei dem String nicht um eine gültige UUID handeln, so wird eine MalformedUUIDException geworfen.

from UUID
static UUID
generateFromRandom()

Erstellt eine UUID nach Typ 4 aus zufälligen Zahlen. Obwohl die Eindeutigkeit für so generierte UUID nicht garantiert ist, ist die Gesamtzahl der eindeutigen Schlüssel mit 3,4028*1038 so groß, dass die Wahrscheinlichkeit der Erzeugung zwei gleicher UUIDs gegen null geht.

from UUID
static boolean
isValid(string $uuid)

Funktion, die das Format eines Strings überprüft und bei einem gültigen UUID-String (z.B. 74738ff5-5367-5958-9aee-98fffdcd1876) true, ansonsten falls zurückgibt.

from UUID
string
__toString()

Diese Funktion wird beim Cast eines UUID-Objekts in einen String aufgerufen.

from UUID
static UUID
getFromBinary(string $binary)

Umwandlung

Details

in UUID at line 171
protected __construct(int $version, int $timeLow, int $timeMid, int $timeHi, int $clockSeqHi, int $clockSeqLow, string $node)

UUID erstellen

Der Konstruktor erstellt ein neues UUID Objekt. Er kann allerdings nicht selber, sondern nur von einer Factory-Methode aufgerufen werden. Die interne Struktur ist wie inder Spezifikation definiert durch die Version 1 vorgegeben. Die anderen Versionen verwenden ebenfalls diese Struktur, jedoch ohne Wert auf den Namen zu legen.

Parameters

int $version Version der UUID (1-5, 2 ist nicht implementiert)
int $timeLow 32-bit der UUID
int $timeMid 16-bit der UUID
int $timeHi 16-bit der UUID
int $clockSeqHi 8-bit der UUID
int $clockSeqLow 8-bit der UUID
string $node Hex-Wert der Node

in UUID at line 223
static UUID generateFromTime(string $node = null)

Erstellt ein neues UUID Objekt nach Version 1 der Spezifikation, bestehend aus einem Zeitstempel und der Node-ID (entweder eine gültige MAC-Adresse, oder ein Zufallswert). Anhand einer solchen UUID lassen sich Rückschlüsse auf den Zeitpunkt der Erstellung und auf den Rechner ziehen.

Parameters

string $node MAC-Adresse oder Zufallswert in HEX-Darstellung ohne Sonderzeichen

Return Value

UUID Neues Objekt

in UUID at line 257
static UUID generateFromName(string $namespace, string $name, int $hashAlgorithm = self::NAMESHA1BASED)

Erstellt eine UUID aus einem Namespace und einen Namen. Eine über einen Namen erstellt UUID muss immer wieder zum selben Ergebnis führen. Eine UUID im Namespace A aus dem Namen B und eine UUID C im Namespace D können identisch sein.

Daher kann man von einer UUID nicht auf den Namen und den Namespace schliessen.

Parameters

string $namespace String-UUID des Namespaces
string $name Name der UUID (z.B. ein Domainname)
int $hashAlgorithm Version des Hash (SHA-1 oder MD5)

Return Value

UUID Neues Objekt

in UUID at line 303
static UUID generateFromString(string $uuid)

Liegt die UUID im String-Format (74738ff5-5367-5958-9aee-98fffdcd1876) vor, so kann über diese Funktion ein UUID-Objekt aus dem String erstellt werden. Sollte es sich bei dem String nicht um eine gültige UUID handeln, so wird eine MalformedUUIDException geworfen.

Parameters

string $uuid UUID im Stringformat 74738ff5-5367-5958-9aee-98fffdcd1876

Return Value

UUID Neues Objekt

See also

MalformedUUIDException

in UUID at line 333
static UUID generateFromRandom()

Erstellt eine UUID nach Typ 4 aus zufälligen Zahlen. Obwohl die Eindeutigkeit für so generierte UUID nicht garantiert ist, ist die Gesamtzahl der eindeutigen Schlüssel mit 3,4028*1038 so groß, dass die Wahrscheinlichkeit der Erzeugung zwei gleicher UUIDs gegen null geht.

Aus diesme Grund können UUID zur Kennzeichnung ohne zentrale Kontrollinstanz erstellt und verwendet werden.

Return Value

UUID Neues Objekt

in UUID at line 354
static boolean isValid(string $uuid)

Funktion, die das Format eines Strings überprüft und bei einem gültigen UUID-String (z.B. 74738ff5-5367-5958-9aee-98fffdcd1876) true, ansonsten falls zurückgibt.

Parameters

string $uuid Zu prüfender String

Return Value

boolean true im Falle eines gültigen Strings

in UUID at line 367
string __toString()

Diese Funktion wird beim Cast eines UUID-Objekts in einen String aufgerufen.

$uuid = UUID::::generateFromRandom();
$string = (string)$uuid; // $string ist nun eine Zeichenkette wie 74738ff5-5367-5958-9aee-98fffdcd1876

Return Value

string UUID als String

at line 48
static UUID getFromBinary(string $binary)

Umwandlung

Umwandlung eines binärwertes aus einem ActiveDirectory in ein UUID-Objekt

Parameters

string $binary Binärwert aus einem ADS

Return Value

UUID UUID