thejawker / super-random
允许轻松生成唯一的代码,对Laravel应用程序的数据库有感知。
v1.0.2
2018-02-19 12:48 UTC
Requires
- php: >=7.0.0
- illuminate/support: ~5.4.0|~5.5.0|~5.6.0
Requires (Dev)
- mockery/mockery: ^0.9.5
- orchestra/database: ~3.5.0
- orchestra/testbench: ~3.5.0
- phpunit/phpunit: ^6.0|^7.0
This package is auto-updated.
Last update: 2024-09-19 10:02:09 UTC
README
创建真正唯一代码或令牌的优雅流畅方式。
安装
从Composer要求该包
composer require thejawker/super-random
从Laravel 5.5开始,它将神奇地注册该包。
用法
只需简单调用SuperRandom Facade上的generate方法或方便的快捷助手函数。
$code = SuperRandom::generate(); echo $code; // $code = superRandom();
示例
数据库感知
通常你不想在数据库中有多个相同的代码或令牌。虽然与数据库比较很容易,但需要在各处重复实现这一点确实很烦人。通过在for方法中指定table.column,你可以轻松使其具有条目感知。
ConcertTicket::create([ 'band' => 'DYSSEBIA', 'code' => SuperRandom::for(ConcertTicket::class)->generate() ]); // Or more explicit: ConcertTicket::create([ 'band' => 'DYSSEBIA', 'code' => SuperRandom::for('concerts.code')->generate() ]);
长度
你可以指定以下长度
ConcertTicket::create([ 'band' => 'DYSSEBIA', 'code' => SuperRandom::length(12)->generate() ]);
允许的字符
你可以指定以下允许的字符
ConcertTicket::create([ 'band' => 'DYSSEBIA', 'code' => SuperRandom::chars('abc123')->generate() ]);
默认情况下,我们只包括数字和UPPERCASE字符,排除: 1, I, O, 0
,因为它们看起来很相似,你不希望用户猜测。
完整配置
你可以在generate()方法上直接设置配置。
ConcertTicket::create([ 'band' => 'DYSSEBIA', 'code' => SuperRandom::generate([ 'table' => 'concerts', 'column' => 'code', 'length' => 15, 'chars' => 'abc123' ]) ]);
测试
composer test
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。