brightnucleus / keys
可验证的键对象。
v0.1.2
2017-07-05 09:52 UTC
Requires
- brightnucleus/exceptions: >=0.2
- brightnucleus/validation: >=0.1
- ramsey/uuid: ^3
Requires (Dev)
- phpunit/phpunit: ~6
This package is auto-updated.
Last update: 2024-09-16 05:28:45 UTC
README
本软件包提供了可验证的键对象,旨在用作标识符。
目录
安装
使用本软件包的最佳方式是通过Composer
composer require brightnucleus/keys
基本用法
基本 Key
类
基本 BrightNucleus\Keys\Key
类的使用非常简单,您只需通过构造函数传入您想要用作键的实际值即可实例化它。
示例
<?php namespace Vendor\Package; use BrightNucleus\Keys\Key; $key = new Key('my_option'); echo $key; // Output: 'my_option'
UUID
类
UUID 是一个 "通用唯一标识符"。
要使用 BrightNucleus\Keys\UUID
类,您应该通过其中一个命名构造函数实例化它
UUID::uuid1()
:生成版本 1(基于时间的)UUID 对象。UUID::uuid3($namespace, $name)
:生成版本 3(基于名称且使用 MD5 哈希)的 UUID 对象。UUID::uuid4()
:生成版本 4(随机)的 UUID 对象。UUID::uuid5($namespace, $name)
:生成版本 5(基于名称且使用 SHA1 哈希)的 UUID 对象。
示例
<?php namespace Vendor\Package; use BrightNucleus\Keys\UUID; $randomUUID = UUID::uuid4(); echo $randomUUID; // Output: random UUID, in a format similar to '123e4567-e89b-12d3-a456-426655440000' $hashedUUID = UUID::uuid5(UUID::NAMESPACE_URL, 'https://www.brightnucleus.com'); echo $hashedUUID; // Output: '63ab6383-0ad4-559a-b16b-afcec9cc77e9'
高级用法
您可以通过扩展 BrightNucleus\Keys\Key
类来提供您自己的唯一标识符方案。确保自定义实现中的验证和序列化功能按预期工作。
示例
<?php namespace Vendor\Package; use BrightNucleus\Keys\Key; class TimestampedKey extends Key { /** * Initialize a new TimestampedKey object. */ public function __construct() { $dateTime = new \DateTimeImmutable(); $this->data = $dateTime->getTimestamp(); } } $key = new TimestampedKey(); echo $key; // Output: Unix timestamp value in the format '1499248161';
贡献
欢迎所有反馈/错误报告/拉取请求。
许可
版权所有(c)2017 Alain Schlesser,Bright Nucleus
此代码根据 MIT 许可证授权。