代码拉取完成,页面将自动刷新
BV1fx411v7eo
这种IDcomposer require zeyen/webman-hashids
在 config/plugin/zeyen/webman-hashids/app.php 中更改
return [
'enable' => true,
// 默认连接名称
'default' => 'main', // 支持bilibili的BV模式
// Hashids modes
'modes' => [
'main' => [
'salt' => '',
'length' => 0,
'alphabet' => 'oqyei4pYnjDLXuPOw6c9IvzlWUmBs1Z0rdAkFCKM8hgHb2QV7NJ35TfaxRtESGArray'
],
'other' => [
'salt' => 'salt',
'length' => 0,
'alphabet' => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
],
'bilibili' => [
// 此模式无需添加其他的配置
// 前缀超过2位英文字母忽略
'prefix' => '', // B站BV模式前缀类似: BV1fx411v7eo = 12345678
],
],
];
依赖注入方式-推荐
use zeyen\hashids\Hashids;
class Index
{
public function index(Hashids $hashids)
{
// B站BV模式, B站模式支持第二个参数增加前缀,可以设置例如: prefix = 'BV'
$_hashids = $hashids->mode(name: 'bilibili');
$_hashids->encode(12345678); // 1fx411v7eo
$_hashids->decode('1fx411v7eo'); // 12345678
// other模式
$hashids->mode('other')->encode(12345678); // gpyAoR
$hashids->mode('other')->decode('gpyAoR'); // 12345678
// 默认
$hashids->encode(12345678); // 1rQ2go
$hashids->decode('1rQ2go'); // 12345678
// 其他传输ID的方式,返回为数组,对应传参
$hashID = $hashids->encode(12, 34, 56, 78); // nyILSjosbR
$hashID2 = $hashids->encode([12, 34, 56, 78]); // nyILSjosbR
$result = $hashids->decode($hashID);
// 返回数组
/*
$result = [
'0' => 12
'1' => 34
'2' => 56
'3' => 78
];
*/
// 自定义参数
$_hashids = $hashids->mode(name: 'bilibili',['salt'=>'salt','length'=>16,'alphabet'=>'abcd...']);
$_hashids->encode(12345678); // 1fx411v7eo
$_hashids->decode('1fx411v7eo'); // 12345678
}
}
facade方式引入
use zeyen\hashids\facade\Hashids;
class Index
{
public function index()
{
// B站BV模式
Hashids::mode('bilibili')->encode(12345678); // 1fx411v7eo
Hashids::mode('bilibili')->decode('1fx411v7eo'); // 12345678
// other模式
Hashids::mode('other')->encode(12345678); // gpyAoR
Hashids::mode('other')->decode('gpyAoR'); // 12345678
// 默认
Hashids::encode(12345678); // 1rQ2go
Hashids::decode('1rQ2go'); // 12345678
// 自定义参数
Hashids::mode('other',['salt'=>'salt','length'=>16,'alphabet'=>'abcd...'])->encode(12345678); // gpyAoR
Hashids::mode('other',['salt'=>'salt','length'=>16,'alphabet'=>'abcd...'])->decode('gpyAoR'); // 12345678
}
}
助手函数
class Index
{
public function index()
{
// 加密
id_encode(12345678); // 1rQ2go
id_encode(12, 34, 56, 78, 'other'); // nyILSjosbR
id_encode([12, 34, 56, 78], mode: 'other'); // nyILSjosbR
// 解密
id_decode('1rQ2go'); // 12345678
id_decode('gpyAoR', 'other'); // 12345678
// 切换模式
id_mode('other')->encode(12345678); // gpyAoR
id_mode('other')->decode('gpyAoR'); // 12345678
//自定义参数
id_encode(12345678,'mode',['salt'=>'salt','length'=>16,'alphabet'=>'abcd...']); // 1rQ2go
id_decode('gpyAoR','mode',['salt'=>'salt','length'=>16,'alphabet'=>'abcd...']); // 12345678
// 助手函数还有一个获取字母表的函数
// 拿到可以用来设置`config/plugin/zeyen/webman-hashids/app.php `配置中的alphabet字段
$alphabet = id_build_alphabet();
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。