Хашидский мост для Laravel.
// Encode integers.
Hashids:: encode ( 4815162342 );
// Decode strings.
Hashids:: decode ( ' 1LLb3b4ck ' );
// Dependency injection example.
$ hashidsManager -> encode ( 911 );
Требуется, чтобы этот пакет вместе с Composer находился в корневом каталоге вашего проекта.
composer require vinkla/hashids
Laravel Hasids требует настройки соединения. Для начала вам необходимо опубликовать все ресурсы поставщиков:
php artisan vendor:publish
Это создаст файл config/hashids.php
в вашем приложении, который вы сможете изменить, чтобы установить свою конфигурацию. Кроме того, обязательно проверяйте наличие изменений в исходном файле конфигурации в этом пакете между выпусками.
В этом параметре default
вы можете указать, какое из приведенных ниже соединений вы хотите использовать в качестве соединения по умолчанию для всей работы. Конечно, вы можете использовать множество соединений одновременно, используя класс менеджера. Значение по умолчанию для этого параметра — main
.
В этом параметре connections
каждое соединение настраивается для вашего приложения. Пример конфигурации включен, но вы можете добавить столько подключений, сколько захотите.
Здесь вы можете увидеть пример того, как вы можете использовать этот пакет. По умолчанию адаптером по умолчанию является main
. После того, как вы введете свои данные аутентификации в файл конфигурации, все будет работать:
// 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 ' );
Менеджер будет вести себя так, как будто это класс HashidsHashids
. Если вы хотите вызвать определенные соединения, вы можете сделать это с помощью метода соединения:
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.
Если вы предпочитаете использовать внедрение зависимостей вместо фасадов, вы можете внедрить менеджер:
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 ();
Для получения дополнительной информации о том, как использовать класс HashidsHashids
, ознакомьтесь с документацией hashids/hashids
.