baraja-core/variable-generator

此包的最新版本(v2.0.4)没有提供许可证信息。

通过最后变量和所选策略生成新的变量符号。

v2.0.4 2022-01-10 14:40 UTC

README

Integrity check

通过最后变量和所选策略生成新的变量符号。

想法

一系列智能工具,用于在您的电子商务网站中生成变量符号和订单号。

生成订单号或其他数字序列隐藏了许多复杂问题。例如,根据规范遵循指定格式,处理交易条目(以避免重复)以及处理生成值溢出的情况。

此包包含一系列算法和现成的策略,以优雅地解决这些问题。如果您觉得任何算法都不适合您,您只需实现一个满足定义接口的自己的即可。

📦 安装

最好使用 Composer 进行安装,您还可以在 PackagistGitHub 上找到此包。

要安装,只需使用以下命令

$ composer require baraja-core/variable-generator

您可以通过创建内部类的实例来手动使用此包,或者注册DIC扩展以直接将服务链接到Nette框架。

如何使用

首先,创建一个Generator实例或从DIC中获取它。如果您使用的是Doctrine实体,有一个自动配置将自动找到您的实体(必须符合OrderEntity接口),然后您就可以开始生成数字了。

示例

$generator = new VariableGenerator(
	variableLoader, // last used variable loader, default is DefaultOrderVariableLoader
	strategy, // generator strategy, default is YearPrefixIncrementStrategy
	entityManager, // if you want use default variable loader by Doctrine entity
);

生成器易于使用。

获取下一个空闲数字(使用不带参数的自动获取基于变量加载服务的最后一个使用数字)。

echo $generator->generate();

根据用户的选择获取下一个可用的数字

echo $generator->generate(21010034); // next will be 21010035

获取最后一个生成的数字

echo $generator->getCurrent();

您始终可以选择自己生成数字的策略

$generator->setStrategy();

保护重复数字生成

此工具会自动保护您免于生成重复数字。为此,它使用自动锁定(有关更多信息,请参阅baraja-core/lock库),这允许一次只生成一个数字,同时在此期间暂停其他线程中的竞争进程。

📄 许可证

baraja-core/variable-generator 使用MIT许可证。有关详细信息,请参阅LICENSE文件。