torann / hashids
Laravel package for Hashids
Installs: 278 988
Dependents: 0
Suggesters: 0
Security: 0
Stars: 54
Watchers: 7
Forks: 11
Open Issues: 0
Requires
- php: ^7.4|^8.0
- hashids/hashids: ~4.0
- illuminate/support: ^7.0|^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- mockery/mockery: ^1.3
- phpstan/phpstan: ^0.12.14
- phpunit/phpunit: ^8.0
- squizlabs/php_codesniffer: ^3.5
README
This package uses the classes created by hashids.org
Generate hashes from numbers, like YouTube or Bitly. Use hashids when you do not want to expose your database ids to the user.
Installation
Composer
From the command line run:
$ composer require torann/hashids
Without Package Auto-Discovery
Once Hashids is installed you need to register the service provider and facade with the application. Open up config/app.php
and find the providers
and aliases
keys.
'providers' => [ Torann\Hashids\HashidsServiceProvider::class, ] 'aliases' => [ 'Hashids' => Torann\Hashids\Facade\Hashids::class, ]
Publish the configurations
Run this on the command line from the root of your project:
$ php artisan vendor:publish --provider="Torann\Hashids\HashidsServiceProvider"
A configuration file will be publish to config/hashids.php
.
Usage
Once you've followed all the steps and completed the installation you can use Hashids.
Encoding
You can simply encode a single id:
Hashids::encode(1); // Returns Ri7Bi
or multiple..
Hashids::encode(1, 21, 12, 12, 666); // Returns MMtaUpSGhdA
Decoding
Hashids::decode(Ri7Bi); // Returns array (size=1) 0 => int 1
or multiple..
Hashids::decode(MMtaUpSGhdA); // Returns array (size=5) 0 => int 1 1 => int 21 2 => int 12 3 => int 12 4 => int 666
All credit for Hashids goes to Ivan Akimov (@ivanakimov), thanks to for making it!