softcomtecnologia / uuid
不再维护。请使用ramsey/uuid。这是一个PHP 5.3+库,用于生成RFC 4122版本1、3、4和5的全局唯一标识符(UUID)。
Requires
- php: >=5.3.3
Requires (Dev)
- doctrine/dbal: >=2.3
- jakub-onderka/php-parallel-lint: ^0.9.0
- moontoast/math: ~1.1
- phpunit/phpunit: ~4.1
- satooshi/php-coveralls: ~0.6
- squizlabs/php_codesniffer: ^2.3
- symfony/console: ~2.3
Suggests
- doctrine/dbal: Allow the use of a UUID as doctrine field type.
- moontoast/math: Support for converting UUID to 128-bit integer (in string form).
- symfony/console: Support for use of the bin/uuid command line tool.
Replaces
- rhumsaa/uuid: 2.8.3
README
警告:此包不再维护。请使用ramsey/uuid代替。
关于
Rhumsaa\Uuid是一个PHP 5.3+库,用于生成和使用RFC 4122版本1、3、4和5的全局唯一标识符(UUID)。
来自维基百科
UUID的目的是使分布式系统能够在不进行重大中央协调的情况下唯一标识信息。在此上下文中,“唯一”一词应理解为“实际上唯一”,而不是“保证唯一”。由于标识符的大小是有限的,两个不同的项目可能具有相同的标识符。标识符大小和生成过程需要选择,以便在实际中使这种情况足够不可能。任何人都可以创建一个UUID并使用它来标识某物,并且可以合理地确信不会有人无意中创建相同的标识符来标识其他事物。因此,带有UUID标记的信息可以在以后合并到一个数据库中,而无需解决标识符(ID)冲突。
API文档
最新的类API文档可在网上找到。此项目使用ApiGen生成此文档。要在自己的计算机上生成文档,请从项目的根目录运行apigen
。这将在build/apidocs/
文件夹中生成文档。
要求
由于32位和64位PHP构建对整数大小的限制,此库中的某些方法有要求。建议使用64位PHP构建和Moontoast\Math库。然而,此库旨在在不使用Moontoast\Math的情况下在32位PHP构建上运行,但功能会有所降低。请查看API文档以获取更多信息。
如果特定要求不存在,则会抛出Rhumsaa\Uuid\Exception\UnsatisfiedDependencyException
异常,允许在不支持该调用的情况下捕获错误的调用并优雅地降级。
示例
<?php require 'vendor/autoload.php'; use Rhumsaa\Uuid\Uuid; use Rhumsaa\Uuid\Exception\UnsatisfiedDependencyException; try { // Generate a version 1 (time-based) UUID object $uuid1 = Uuid::uuid1(); echo $uuid1->toString() . "\n"; // e4eaaaf2-d142-11e1-b3e4-080027620cdd // Generate a version 3 (name-based and hashed with MD5) UUID object $uuid3 = Uuid::uuid3(Uuid::NAMESPACE_DNS, 'php.net'); echo $uuid3->toString() . "\n"; // 11a38b9a-b3da-360f-9353-a5a725514269 // Generate a version 4 (random) UUID object $uuid4 = Uuid::uuid4(); echo $uuid4->toString() . "\n"; // 25769c6c-d34d-4bfe-ba98-e0ee856f3e7a // Generate a version 5 (name-based and hashed with SHA1) UUID object $uuid5 = Uuid::uuid5(Uuid::NAMESPACE_DNS, 'php.net'); echo $uuid5->toString() . "\n"; // c4a760a8-dbcf-5254-a0d9-6a4474bd1b62 } catch (UnsatisfiedDependencyException $e) { // Some dependency was not met. Either the method cannot be called on a // 32-bit system, or it can, but it relies on Moontoast\Math to be present. echo 'Caught exception: ' . $e->getMessage() . "\n"; }
安装
首选的安装方法是使用Packagist和Composer。运行以下命令安装包并将它添加到composer.json
的要求中
composer.phar require "ramsey/uuid=~2.8"