Package Data | |
---|---|
Maintainer Username: | amamarul |
Maintainer Contact: | ama_marul@hotmail.com (Maru Amallo-amamarul) |
Package Create Date: | 2017-03-22 |
Package Last Update: | 2024-03-26 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-12-17 03:04:37 |
Package Statistics | |
---|---|
Total Downloads: | 19,114 |
Monthly Downloads: | 183 |
Daily Downloads: | 8 |
Total Stars: | 4 |
Total Watchers: | 2 |
Total Forks: | 5 |
Total Open Issues: | 3 |
This package is an adaptation and combination of the following 3 packages:
This package works like Laravel Hashids but you can make integers hashids placing in alphabet connections only numbers and you can implement prefix ids. Also you can use encode() and decode() helpers. You can also make alphanumeric Hashids
$ composer require amamarul/integer-hashids
Amamarul\Hashids\HashidsServiceProvider::class,
$ php artisan vendor:publish --provider='Amamarul\Hashids\HashidsServiceProvider'
config/hashids.php
)
You can create differents connections with differents parameters 'default' => 'main',
'prefix-separator' => '-',
'<Name Connection>' => [
'salt' => 'your-salt-string',
'length' => '10',
'alphabet' => '0123456789',
'prefix' => null,
],
Name Connection: There are a 'main' connection that is used by default but you can create custom connections and then call them.
salt: is a phrase string.
length: Number of characters you need
alphabet: you can set any character to make the hash, but if you want integer hashid keep the same ('0123456789').
prefix: if you want a prefixed hashid you can add the prefix, if not you can omit it or delete the parameter.
prefix-separator: If you use a prefix maybe do you want to use a prefix separator. If not leave empty ('').
default: you can change the default connection
'prefix' => null
) use Hashids;
Hashids::encode(1548);
// output: 7988887798
Hashids::decode('7988887798');
// output: 1548
'prefix' => 'AA'
) use Hashids;
Hashids::encode(1548);
// output: AA-7988887798
Hashids::decode('AA-7988887798');
// output: 1548
use Hashids;
Hashids::connection('custom')->encode(1548);
// output: 7988887798
Hashids::connection('custom')->decode('7988887798');
// output: 1548
use Amamarul\Hashids\Support\HashidsManager;
class Foo
{
protected $hashids;
public function __construct(HashidsManager $hashids)
{
$this->hashids = $hashids;
}
public function encode($id)
{
$this->hashids->encode($id)
}
public function decode($hashid)
{
$this->hashids->decode($hashid)
}
}
use Amamarul\Hashids\Support\HashidsManager;
class Foo
{
protected $hashids;
public function __construct(HashidsManager $hashids)
{
$this->hashids = $hashids->connection('custom');
}
public function encode($id)
{
$this->hashids->encode($id)
}
public function decode($hashid)
{
$this->hashids->decode($hashid)
}
}
You can use the 'encode()' and 'decode()' helpers
// with 'main' connection
encode($id)
// with 'custom' connection
encode($id,'custom')
// with 'main' connection
decode($hashid)
// with 'custom' connection
decode($hashid,'custom')
Created by Maru Amallo-amamarul