General: Introduce `wp_unique_id()`, a PHP implementation of Underscore's `uniqueId` method.

A static variable contains an integer that is incremented with each call. This number is returned with the optional prefix.
As such the returned value is not universally unique, but it is unique across the life of the PHP process.

Props westonruter, dlh.
See #44883.
Built from https://develop.svn.wordpress.org/trunk@43658


git-svn-id: http://core.svn.wordpress.org/trunk@43487 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2018-09-24 20:57:23 +00:00
parent eb6be7eee1
commit 357a4957ec
2 changed files with 21 additions and 1 deletions

View File

@ -6167,6 +6167,26 @@ function wp_is_uuid( $uuid, $version = null ) {
return (bool) preg_match( $regex, $uuid ); return (bool) preg_match( $regex, $uuid );
} }
/**
* Get unique ID.
*
* This is a PHP implementation of Underscore's uniqueId method. A static variable
* contains an integer that is incremented with each call. This number is returned
* with the optional prefix. As such the returned value is not universally unique,
* but it is unique across the life of the PHP process.
*
* @since 4.9.9
*
* @staticvar int $id_counter
*
* @param string $prefix Prefix for the returned ID.
* @return string Unique ID.
*/
function wp_unique_id( $prefix = '' ) {
static $id_counter = 0;
return $prefix . (string) ++$id_counter;
}
/** /**
* Get last changed date for the specified cache group. * Get last changed date for the specified cache group.
* *

View File

@ -4,7 +4,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '5.0-alpha-43657'; $wp_version = '5.0-alpha-43658';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.