要在 PHP 框架中集成 Hashids,請按照以下步驟操作:
安裝 Hashids:
使用 Composer 安裝 Hashids。打開命令行或終端,然后運行以下命令:
composer require hashids/hashids
創建一個配置文件:
在你的應用程序的 config
目錄中創建一個名為 hashids.php
的新文件。將以下內容添加到該文件中:
<?php
return [
'salt' => env('HASHIDS_SALT', 'your-salt-string'),
'length' => env('HASHIDS_LENGTH', 10),
'alphabet' => env('HASHIDS_ALPHABET', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'),
];
這里的值可以根據你的需求進行修改。salt
是用于加密的鹽值,length
是生成的 Hash 字符串的長度,alphabet
是用于生成 Hash 的字符集。
在 .env
文件中添加配置變量:
在項目根目錄的 .env
文件中添加以下內容:
HASHIDS_SALT=your-salt-string
HASHIDS_LENGTH=10
HASHIDS_ALPHABET=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
請確保為 HASHIDS_SALT
設置一個安全的值。
創建一個服務提供者:
在 app/Providers
目錄中創建一個名為 HashidsServiceProvider.php
的新文件。將以下內容添加到該文件中:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Hashids\Hashids;
class HashidsServiceProvider extends ServiceProvider
{
/**
* Register services.
*
* @return void
*/
public function register()
{
$this->app->singleton(Hashids::class, function ($app) {
return new Hashids(
config('hashids.salt'),
config('hashids.length'),
config('hashids.alphabet')
);
});
}
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
//
}
}
這個服務提供者將 Hashids 注冊為一個單例,以便在整個應用程序中重復使用。
在 config/app.php
中注冊服務提供者:
在 config/app.php
文件的 providers
數組中添加以下內容:
App\Providers\HashidsServiceProvider::class,
使用 Hashids:
現在你可以在你的應用程序中使用 Hashids。例如,在控制器中,你可以這樣做:
use Hashids\Hashids;
public function getHashedId(int $id, Hashids $hashids)
{
return $hashids->encode($id);
}
這將返回給定 ID 的 Hash 字符串。要解碼 Hash 字符串,只需調用 decode()
方法:
$decodedId = $hashids->decode($hashedId)[0];
通過以上步驟,你已經成功地在 PHP 框架中集成了 Hashids。現在你可以在你的應用程序中使用它來生成和解碼 Hash 字符串。