jeremykenedy / uuid
Laravel 包,用于按照 RFC 4122 标准生成 UUID。支持 UUID 版本 1、3、4 和 5。采用 MIT 许可证。
v3.1.0
2017-09-04 11:08 UTC
Requires
- php: >=7.0.0
Requires (Dev)
- fzaninotto/faker: ~1.4
- phpunit/phpunit: ~6.0
README
Laravel 包,用于按照 RFC 4122 标准生成 UUID。支持 UUID 版本 1、3、4 和 5。采用 MIT 许可证。
关于
自 Laravel 4.*
和 5.*
以来,两者都依赖于 OpenSSL
或 Mcrypt
,伪随机字节生成器现在尝试使用其中之一。如果两者都无法使用(不是 Laravel 项目?),则使用 'less random' 的 mt_rand()
函数。
需求
安装
Laravel 5.5 及以上版本
- 在终端中,从您项目的根目录运行
composer require jeremykenedy/uuid
- 使用包自动发现功能,无需编辑
config/app.php
文件。
Laravel 5.4 及以下版本
- 在终端中,从您项目的根目录运行
composer require jeremykenedy/uuid:2.1.2
- 在
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
等。应该是一个简单的修复。
致谢
许可证
Laravel UUID 在个人和商业产品下均受 MIT 许可证的许可。祝您享受!