vinkla / hashids
Laravel 的哈希id桥梁
12.0.0
2024-02-05 08:07 UTC
Requires
- php: ^8.2
- graham-campbell/manager: ^5.0
- hashids/hashids: ^5.0
- illuminate/contracts: ^11.0
- illuminate/support: ^11.0
Requires (Dev)
- graham-campbell/analyzer: ^4.1
- graham-campbell/testbench: ^6.1
- mockery/mockery: ^1.6.6
- phpunit/phpunit: ^10.0
README
Laravel Hashids
为 Laravel 提供的 Hashids 桥梁。
// Encode integers. Hashids::encode(4815162342); // Decode strings. Hashids::decode('1LLb3b4ck'); // Dependency injection example. $hashidsManager->encode(911);
安装
使用 Composer 在项目的根目录中要求此包。
composer require vinkla/hashids
配置
Laravel Hashids 需要连接配置。要开始,你需要发布所有供应商资产
php artisan vendor:publish
这将在你的应用中创建一个 config/hashids.php
文件,你可以修改它来设置你的配置。同时,请确保检查该包中原始配置文件在版本之间的更改。
默认连接名称
此选项 default
是你指定以下哪个连接用作所有工作的默认连接的地方。当然,你可以同时使用多个连接,使用管理类。此设置的默认值为 main
。
哈希id连接
此选项 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');
管理器将表现得像是一个 Hashids\Hashids
类。如果你想调用特定的连接,你可以使用连接方法来实现
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();
有关如何使用 Hashids\Hashids
类的更多信息,请查看 hashids/hashids
的文档。