sinevia / php-library-uid

v1.8.0 2019-04-27 09:12 UTC

This package is auto-updated.

Last update: 2024-09-16 19:33:54 UTC


README

类用于生成唯一的标识字符串。最大的关注点在于人性化的唯一标识符(日期数字)。

No Dependencies

支持的 UID 类型

它支持多种类型的唯一标识符。您想要使用的类型取决于您想要标识符有多随机和多长。对于大多数用户案例,微 UUID(20 个字符)应该足够好。当涉及到人时,几乎从不使用人类 UUID(32 个字符),因为它们太“令人困惑”而不易处理。

  • 人类 UUID(32 位数字)

    格式:YYYYMMDD-HHMM-SSMM-MMMMRRRRRRRRRRR

    2017111908492665991498485465(带连字符:20171119-0849-2665-991498485465)

  • 纳秒 UID(23 位数字)

    格式:YYYYMMDD-HHMMSS-MMMMMM-NNN

    示例

    20171119084926659914984(带连字符:20171119-084926-659914-984)

  • 微 UID(20 位数字)

    格式:YYYYMMDD-HHMMSS-MMMMMM

    示例

    20171119084926659914(带连字符:20171119-084926-659914)

  • 秒 UID(14 位数字)

    格式:YYYYMMDD-HHMMSS

    示例

    20171119084926(带连字符:20171119-084926)

  • 时间戳 UID(Unix 时间 - 自 1970 年 1 月 1 日以来的秒数)

安装

通过 composer

composer require sinevia/php-library-uid

使用

\Sinevia\Uid::humanUuid();       // 32 digits - YYYYMMDD-HHMM-SSMM-MMMMRRRRRRRRRRR
\Sinevia\Uid::nanoUid();         // 23 digits - YYYYMMDD-HHMMSS-MMMMMM-NNN
\Sinevia\Uid::microUid();        // 20 digits - YYYYMMDD-HHMMSS-MMMMMM
\Sinevia\Uid::secUid();          // 14 digits - YYYYMMDD-HHMMSS
\Sinevia\Uid::timestampUid();    // Unix time (seconds since 1 Jan 1970)

\Sinevia\Uid::timestampUidWithRandomPostFix(12); // Unix time + 12 random digits

\Sinevia\Uid::isHumanUid(1);
\Sinevia\Uid::isNanoUid(1);
\Sinevia\Uid::isMicroUid(1);
\Sinevia\Uid::isSecUid(1);