Class UUID
UUID
Implementierung des Universally_Unique_Identifier (UUID) Standards. Der Aufbei einer UUID entspricht dabei dem folgendem Schema:
UUID = time-low "-" time-mid "-" time-high-and-version "-" clock-seq-and-reserved clock-seq-low "-" node
Eine Beispiel UUID in URI-Notation sieht folgendermaßen aus urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6
$uuid = Alvine\Util\UUID::generateFromName(Alvine\Util\UUID::NSDNS, 'www.example.org'); echo $uuid; // Ausgabe ist '74738ff5-5367-5958-9aee-98fffdcd1876';
Direct known subclasses
Alvine\Net\LDAP\UUIDPackage: Alvine\Util
Category: Framework
License: Licence
Author: schukai GmbH info@schukai.de
Version: Release: $Revision: 173 $
Since: 20110904
See: http://de.wikipedia.org/wiki/Universally_Unique_Identifier
Link: Alvine
Located at util/UUID.class.php
protected
|
#
__construct( int $version, int $timeLow, int $timeMid, int $timeHi, int $clockSeqHi, int $clockSeqLow, string $node )
UUID erstellen |
public static
|
#
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. |
public static
|
#
generateFromName( string $namespace, string $name, int $hashAlgorithm =
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. |
public static
|
#
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. |
public static
|
#
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. |
public 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. |
public
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 |
integer |
TIMEBASED
ursprüngliche, zeitstempelbasierte UUID |
#
1
|
integer |
DCEBASED
DCE Security version (nicht implementiert) |
#
2
|
integer |
NAMEMD5BASED
namensbasiert, MD5-gehasht |
#
3
|
integer |
RANDOMBASED
zufällig oder pseudozufällige UUID |
#
4
|
integer |
NAMESHA1BASED
namensbasiert, SHA1-gehasht |
#
5
|
string |
NSDNS
Namespace für DNS Hostname Vordefinierte Namespaces, siehe Appendix C of RFC 4122 |
#
'6ba7b810-9dad-11d1-80b4-00c04fd430c8'
|
string |
NSURL
Namespace für eine gültige URL Vordefinierte Namespaces, siehe Appendix C of RFC 4122 |
#
'6ba7b811-9dad-11d1-80b4-00c04fd430c8'
|
string |
NSOID
Namespace für ISO Object Identifier Vordefinierte Namespaces, siehe Appendix C of RFC 4122 |
#
'6ba7b812-9dad-11d1-80b4-00c04fd430c8'
|
string |
NSX500
Namespace für X.500 Objekte Vordefinierte Namespaces, siehe Appendix C of RFC 4122 |
#
'6ba7b814-9dad-11d1-80b4-00c04fd430c8'
|