<?php
/* A uniqid, like: 4b3403665fea6 */
printf("uniqid(): %s\r\n", uniqid());
/* We can also prefix the uniqid, this the same as
* doing:
*
* $uniqid = $prefix . uniqid();
* $uniqid = uniqid($prefix);
*/
printf("uniqid('php_'): %s\r\n", uniqid('php_'));
/* We can also activate the more_entropy parameter, which is
* required on some systems, like Cygwin. This makes uniqid()
* produce a value like: 4b340550242239.64159797
*/
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>
This function does not generate cryptographically secure values, and should not be used for cryptographic purposes. If you need a cryptographically secure value, consider using random_int(), random_bytes(), or openssl_random_pseudo_bytes() instead.
When creating unique identifier we could use a combination of uniqid() passing user id command name and random_bytes() output.
<?php
//random_bytes () function in PHP
$length = random_bytes('4');
//Print the reult and convert by binaryhexa
var_dump(bin2hex($length));
?>
Here is an example of REST API using UUID to create unique identifier for API request:
PUT /zasób-biznesowy/{identyfikator-zasobu}/{typ-polecenia}-commands/{identyfikator-polecenia-uuid}