Laravel 包,用于按照 RFC 4122 标准生成 UUID。支持 UUID 版本 1、3、4 和 5。采用 MIT 许可证。

v3.1.0 2017-09-04 11:08 UTC

This package is auto-updated.

Last update: 2024-08-26 07:10:38 UTC


README

Total Downloads StyleCI Build Status Latest Stable Version License: MIT

Laravel 包,用于按照 RFC 4122 标准生成 UUID。支持 UUID 版本 1、3、4 和 5。采用 MIT 许可证。

关于

自 Laravel 4.*5.* 以来,两者都依赖于 OpenSSLMcrypt,伪随机字节生成器现在尝试使用其中之一。如果两者都无法使用(不是 Laravel 项目?),则使用 'less random' 的 mt_rand() 函数。

需求

安装

Laravel 5.5 及以上版本
  1. 在终端中,从您项目的根目录运行
    composer require jeremykenedy/uuid
  • 使用包自动发现功能,无需编辑 config/app.php 文件。
Laravel 5.4 及以下版本
  1. 在终端中,从您项目的根目录运行
    composer require jeremykenedy/uuid:2.1.2
  1. config/app.php 下的 aliases 中使用以下内容注册该包
    'aliases' => [
        'Uuid' => jeremykenedy\Uuid\Uuid::class,
    ];

基本用法

要快速生成一个 UUID,只需这样做

    Uuid::generate()
  • 这将生成一个版本 1,具有随机生成的 MAC 地址。

高级用法

UUID 创建

UUID V1

生成一个基于时间的版本 1 UUID。您可以设置可选的节点为 MAC 地址。如果不提供,它将生成一个随机 MAC 地址。

Uuid::generate(1,'00:11:22:33:44:55');
UUID V3

生成一个基于名称的版本 3 UUID,使用 MD5 散列

Uuid::generate(3,'test', Uuid::NS_DNS);
UUID V4

生成一个完全随机的版本 4 UUID

Uuid::generate(4);
UUID V5

生成一个基于名称的版本 5 UUID,使用 SHA-1 散列

Uuid::generate(5,'test', Uuid::NS_DNS);

附加功能

导入 UUID
  • 要导入一个 UUID
$uuid = Uuid::import('d3d29d70-1d25-11e3-8591-034165a3a613');
提取时间
  • 提取基于时间的 UUID(版本 1)的时间
$uuid = Uuid::generate(1);
dd($uuid->time);
提取版本
  • 提取 UUID 的版本
$uuid = Uuid::generate(4);
dd($uuid->version);

变更日志

2.*
  • Laravel Uuid 现在完全符合 PSR-2,就像 Laravel 5.1。
  • 除了将 Laravel Uuid 中使用的常量转换为大写之外,没有太多变化。
  • 这意味着 Uuid::nsDNS 现在是 Uuid::NS_DNS 等。应该是一个简单的修复。

致谢

  • 全部开发荣誉应归功于 webpatser。此包已被分叉并修改,以符合 MIT 许可证标准,用于生产使用。

许可证

Laravel UUID 在个人和商业产品下均受 MIT 许可证的许可。祝您享受!