nocturnalsm/generator

PHP代码编号生成器

1.0 2021-08-24 07:17 UTC

This package is auto-updated.

Last update: 2024-09-24 14:46:36 UTC


README

一个用于生成代码编号的Laravel包,如产品编号、交易编号等。

用法

使用此过程生成编号

$generator = new CodeNumber;
$number = $generator->generate($format, $params);

参数

$format

一个包含多个花括号的字符串,其中将生成代码。

可用的格式有

{d:formatdate}

您可以用任何PHP日期格式替换formatdate

{r:randomnumber}

这将生成一个随机数字,其数字范围在randomnumber字符串长度内。

例如:如果randomnumber为0000(您可以替换0为任何您喜欢的字符),则将生成一个1000到9999范围内的随机数。

{i:increment}

这将生成长度为increment的递增编号。您只能包含此格式一次。如果有多个,则只生成最后一个。

例如:{i:0000}将生成0001,0002等。

$params

您还可以指定除上述格式以外的其他花括号字符串。该字符串将由此参数中的值替换。如果您有想要生成自己格式的格式,这将很有用。

例如

$params = Array("number" => 100);

$generator = new CodeNumber;
return $generator->generate("APP:{number}", $params);

// this will return APP:100

示例代码

use NocturnalSm\Generator\CodeNumber;

public function generateNumber()
{
    $format = "EX.{d:dmY}.{store}.{i:0000}";
    $generator = new CodeNumber;
    $number = $generator->generate($format, ["store" => "APX");
}

安装

使用Composer安装此包。在您的Laravel应用程序目录中执行以下脚本

composer require nocturnalsm\generator

递增格式需要一个表来存储数据。通过执行以下脚本发布迁移文件

php artisan vendor:publish --tag=migrations --provider=NocturnalSm\Generator\GeneratorProvider

要使用此包,请在您的脚本中包含CodeNumber类

use NocturnalSm\Generator\CodeNumber

许可证

此包具有MIT许可证