Uma ponte Hashids para Laravel.
// Encode integers.
Hashids:: encode ( 4815162342 );
// Decode strings.
Hashids:: decode ( ' 1LLb3b4ck ' );
// Dependency injection example.
$ hashidsManager -> encode ( 911 );
Exija este pacote, com o Composer, no diretório raiz do seu projeto.
composer require vinkla/hashids
Laravel Hashids requer configuração de conexão. Para começar, você precisará publicar todos os ativos do fornecedor:
php artisan vendor:publish
Isso criará um arquivo config/hashids.php
em seu aplicativo que você pode modificar para definir sua configuração. Além disso, certifique-se de verificar se há alterações no arquivo de configuração original neste pacote entre os lançamentos.
Esta opção default
é onde você pode especificar quais das conexões abaixo deseja usar como conexão padrão para todo o trabalho. Claro, você pode usar muitas conexões ao mesmo tempo usando a classe manager. O valor padrão para esta configuração é main
.
Esta opção de connections
é onde cada uma das conexões é configurada para seu aplicativo. Um exemplo de configuração foi incluído, mas você pode adicionar quantas conexões desejar.
Aqui você pode ver um exemplo de como usar este pacote. Pronto para uso, o adaptador padrão é main
. Depois de inserir seus detalhes de autenticação no arquivo de configuração, tudo funcionará:
// You can alias this in config/app.php.
use Vinkla Hashids Facades Hashids ;
// We're done here - how easy was that, it just works!
Hashids:: encode ( 4815162342 );
// This example is simple and there are far more methods available.
Hashids:: decode ( ' doyouthinkthatsairyourebreathingnow ' );
O gerenciador se comportará como se fosse uma classe HashidsHashids
. Se quiser chamar conexões específicas, você pode fazer isso com o método de conexão:
use Vinkla Hashids Facades Hashids ;
// Writing this...
Hashids:: connection ( ' main ' )-> encode ( $ id );
// ...is identical to writing this
Hashids:: encode ( $ id );
// and is also identical to writing this.
Hashids:: connection ()-> encode ( $ id );
// This is because the main connection is configured to be the default.
Hashids:: getDefaultConnection (); // This will return main.
// We can change the default connection.
Hashids:: setDefaultConnection ( ' alternative ' ); // The default is now alternative.
Se preferir usar injeção de dependência em vez de fachadas, você pode injetar o gerenciador:
use Vinkla Hashids HashidsManager ;
class Foo
{
protected $ hashids ;
public function __construct ( HashidsManager $ hashids )
{
$ this -> hashids = $ hashids ;
}
public function bar ( $ id )
{
$ this -> hashids -> encode ( $ id );
}
}
App:: make ( ' Foo ' )-> bar ();
Para obter mais informações sobre como usar a classe HashidsHashids
, verifique a documentação em hashids/hashids
.