Getting started
Routing and controllers
Command line
Databases (SQL)
Databases (NoSQL)
Security
Packages
Learn more
- Array helper
- Caching
- Collections
- Command, event and query buses
- Date and time
- File system
- HTML helper
- Humanizer
- Image manipulation
- Internationalization
- Logging
- Number helper
- Pagination
- Retry helper
- Sessions
- String helper
- URL builder
- UUID helper
- Validation
- Views
Official packages
UUID helper
The UUID class contains methods used to validate and generate UUIDs.
Usage
The validate
method checks if a string is a valid UUID. It will return true
if is does and false
if not.
$valid = UUID::validate('f47ac10b-58cc-4372-a567-0e02b2c3d479'); // "true"
$valid = UUID::validate('x47ac10b-58cc-4372-a567-0e02b2c3d479'); // "false"
The v3
method will generate and return a version 3 UUID.
// The namespace must be a valid UUID
$uuid = UUID::v3('f47ac10b-58cc-4372-a567-0e02b2c3d479', 'foobar');
// You can also use one of the predefined namespaces (DNS, URL, OID and X500)
$uuid = UUID::v3(UUID::OID, 'foobar');
The v4
method will return a version 4 UUID.
$uuid = UUID::v4();
The v5
method will return a version 5 UUID.
// The namespace must be a valid UUID
$uuid = UUID::v5('f47ac10b-58cc-4372-a567-0e02b2c3d479', 'foobar');
// You can also use one of the predefined namespaces (DNS, URL, OID and X500)
$uuid = UUID::v5(UUID::OID, 'foobar');
The sequential
methods lets you generate sequential UUIDs where the first 48 bit are reserved for the timestamp.
$uuid = UUID::sequential();
Note that the the timestamp part of the UUID is only precise down to 10 microseconds so if you generate UUIDs in a loop where nothing else happens then you might end up with values that are not sequential (they should still be unique though).
The toBinary
method converts a UUID from a hexadecimal representation to binary.
$binary = UUID::toBinary('f47ac10b-58cc-4372-a567-0e02b2c3d479');
The toHexadecimal
method converts a binary representation of a UUID to a hexadecimal representation.
$hexadecimal = UUUID::toHexadecimal($binary);