<?php
declare (strict_types=1);
namespace DtApp\ThinkLibrary\helper;
use Exception;
class UnIqIds
{
public function random($size = 10, $type = 1, $prefix = ''): string
{
$numbs = '0123456789';
$chars = 'abcdefghijklmnopqrstuvwxyz';
if ((int)$type === 1) {
$chars = $numbs;
}
if ((int)$type === 2) {
$chars = ($chars);
}
if ((int)$type === 3) {
$chars = "{$numbs}{$chars}";
}
$string = $prefix . $chars[random_int(1, strlen($chars) - 1)];
if (isset($chars)) {
while (strlen($string) < $size) {
$string .= $chars[random_int(0, strlen($chars) - 1)];
}
}
return $string;
}
public function date($size = 16, $prefix = ''): string
{
if ($size < 14) {
$size = 14;
}
$string = $prefix . date('Ymd') . (date('H') + date('i')) . date('s');
while (strlen($string) < $size) {
$string .= random_int(0, 9);
}
return $string;
}
public function number($size = 12, $prefix = ''): string
{
$time = time() . '';
if ($size < 10) {
$size = 10;
}
$string = $prefix . ($time[0] . $time[1]) . substr($time, 2) . random_int(0, 9);
while (strlen($string) < $size) {
$string .= random_int(0, 9);
}
return $string;
}
}