Eine Hashids-Brücke für Laravel.
// Encode integers.
Hashids:: encode ( 4815162342 );
// Decode strings.
Hashids:: decode ( ' 1LLb3b4ck ' );
// Dependency injection example.
$ hashidsManager -> encode ( 911 );
Benötigen Sie dieses Paket mit Composer im Stammverzeichnis Ihres Projekts.
composer require vinkla/hashids
Laravel Hashids erfordert eine Verbindungskonfiguration. Um zu beginnen, müssen Sie alle Anbieter-Assets veröffentlichen:
php artisan vendor:publish
Dadurch wird in Ihrer App eine Datei config/hashids.php
erstellt, die Sie ändern können, um Ihre Konfiguration festzulegen. Stellen Sie außerdem sicher, dass Sie zwischen den Veröffentlichungen nach Änderungen an der ursprünglichen Konfigurationsdatei in diesem Paket suchen.
Mit dieser Option „ default
können Sie angeben, welche der unten aufgeführten Verbindungen Sie als Standardverbindung für alle Arbeiten verwenden möchten. Natürlich können Sie mit der Manager-Klasse viele Verbindungen gleichzeitig verwenden. Der Standardwert für diese Einstellung ist main
.
Bei dieser Option connections
werden alle Verbindungen für Ihre Anwendung eingerichtet. Eine Beispielkonfiguration ist enthalten, Sie können jedoch so viele Verbindungen hinzufügen, wie Sie möchten.
Hier sehen Sie ein Beispiel dafür, wie Sie dieses Paket verwenden können. Im Auslieferungszustand ist der Standardadapter main
. Nachdem Sie Ihre Authentifizierungsdaten in die Konfigurationsdatei eingegeben haben, funktioniert es einfach:
// 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 ' );
Der Manager verhält sich so, als wäre es eine HashidsHashids
-Klasse. Wenn Sie bestimmte Verbindungen aufrufen möchten, können Sie dies mit der Verbindungsmethode tun:
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.
Wenn Sie die Abhängigkeitsinjektion gegenüber Fassaden bevorzugen, können Sie den Manager injizieren:
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 ();
Weitere Informationen zur Verwendung der HashidsHashids
-Klasse finden Sie in den Dokumenten unter hashids/hashids
.