baraja-core / variable-generator
此包的最新版本(v2.0.4)没有提供许可证信息。
通过最后变量和所选策略生成新的变量符号。
v2.0.4
2022-01-10 14:40 UTC
Requires
- php: ^8.0
- baraja-core/lock: ^1.0
Requires (Dev)
- baraja-core/doctrine: ^3.0
- nette/di: ^3.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.0
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-nette: ^1.0
- phpstan/phpstan-strict-rules: ^1.0
- roave/security-advisories: dev-master
- spaze/phpstan-disallowed-calls: ^2.0
This package is auto-updated.
Last update: 2024-09-23 05:37:52 UTC
README
通过最后变量和所选策略生成新的变量符号。
想法
一系列智能工具,用于在您的电子商务网站中生成变量符号和订单号。
生成订单号或其他数字序列隐藏了许多复杂问题。例如,根据规范遵循指定格式,处理交易条目(以避免重复)以及处理生成值溢出的情况。
此包包含一系列算法和现成的策略,以优雅地解决这些问题。如果您觉得任何算法都不适合您,您只需实现一个满足定义接口的自己的即可。
📦 安装
最好使用 Composer 进行安装,您还可以在 Packagist 和 GitHub 上找到此包。
要安装,只需使用以下命令
$ 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文件。