elfsundae / laravel-hashid-uuid
Shorten UUID encoding for Laravel Hashid.
Installs: 2 224
Dependents: 0
Suggesters: 1
Security: 0
Stars: 12
Watchers: 1
Forks: 5
Open Issues: 0
Requires
- php: ~7.1|~8.0
- elfsundae/laravel-hashid: ~1.0
- ramsey/uuid: ~3.6|~4.0
Requires (Dev)
- mockery/mockery: ~1.0
- phpunit/phpunit: ~5.7|~6.0|~7.0|~8.0|~9.0
README
This is a plugin package for Laravel Hashid, it provides an uuid
hashid driver to shorten your UUID encoding.
Installation
You can install this package using the Composer manager:
$ composer require elfsundae/laravel-hashid-uuid
For Lumen or earlier Laravel than v5.5, you need to register the service provider manually:
ElfSundae\Laravel\Hashid\UuidServiceProvider::class,
Configuration
- Driver name:
uuid
- Configuration:
connection
: The hashid connection name for encoding and decoding.
Example:
'connections' => [ 'uuid_base62' => [ 'driver' => 'uuid', 'connection' => 'base62', ], 'uuid_hashids' => [ 'driver' => 'uuid', 'connection' => 'hashids_string', ], // ... ],
Usage
encode($data)
accepts aRamsey\Uuid\Uuid
instance or an UUID string.decode($data)
returns aRamsey\Uuid\Uuid
instance.
Example:
use Ramsey\Uuid\Uuid; $string = 'cd79e206-c715-11e7-891d-8bf37117635e'; $uuid = Uuid::fromString($string); $hex = $uuid->getHex(); // "cd79e206c71511e7891d8bf37117635e" // Encode using the original connections: hashid_encode($uuid, 'base62'); // "1mUcj8TfpKB7vEBlRecZ4PADhnE1UbBg2L9n3PQOSFqzYZHwj" hashid_encode($uuid, 'hashids_string'); // "Wr3xrA2WWEh4K1LBBV6vhXL592VVQoSKWnpQB5vkt9DkZxDp6Lsjz945vnRl" // Encode using the "uuid" driver: hashid_encode($uuid, 'uuid_base62'); // "6Fj7unqIaNKkq5zbJo1HJ8" hashid_encode($string, 'uuid_base62'); // "6Fj7unqIaNKkq5zbJo1HJ8" hashid_encode($hex, 'uuid_base62'); // "6Fj7unqIaNKkq5zbJo1HJ8" hashid_encode($uuid, 'uuid_hashids'); // "kp2wZkXOBzSMNA3nPxNzSOZJ701" // Decode $decoded = hashid_decode('6Fj7unqIaNKkq5zbJo1HJ8', 'uuid_base62'); (string) $decoded; // "cd79e206-c715-11e7-891d-8bf37117635e" $decoded->getDateTime()->format('Y-m-d H:i:s'); // "2017-11-11 19:23:31" // Decoding failure (string) hashid_decode('foobar', 'uuid_base62'); // "00000000-0000-0000-0000-000000000000"
Testing
$ composer test
License
This package is open-sourced software licensed under the MIT License.