php Hashids Wrapper

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php Hashids Wrapper相关的知识,希望对你有一定的参考价值。

<?php

namespace App\Utilities;

use Hashids\Hashids as HashidsUtility;

/**
 * Hashids Service
 */
class Hashids
{
    /**
     * Hashids/Hashids
     * @var \Hashids\Hashids
     */
    protected $hashids;

    public function __construct($salt, $length, $alphabet)
    {
        $this->hashids = new HashidsUtility($salt, $length, $alphabet);
    }

    /**
     * Create an instance of Hashids
     *
     * @return App\Utilites\Hashids
     */
    public static function make($salt, $length, $alphabet)
    {
        return new self($salt, $length, $alphabet);
    }

    /**
     * Encode
     * @param  int    $value
     * @return string
     */
    public function encode(int $value): string
    {
        return $this->hashids->encode($value);
    }

    /**
     * Decode
     * @param  string
     * @return int|null
     */
    public function decode(string $value): int
    {
        $value = $this->hashids->decode($value);

        if (is_array($value)) {
            return $value[0];
        } else {
            return null;
        }
    }
}

以上是关于php Hashids Wrapper的主要内容,如果未能解决你的问题,请参考以下文章

php 创建Hashids Observer

php 创建hashids配置文件

php中通过Hashids将整数转化为唯一字符串

hashids 了解

将Long类型转为字母数字组合的jar包---Hashids

openresty && hashids&& redis 生成短链接