pragmarx/random

创建随机字符、数字、字符串

v0.2.2 2017-11-21 05:26 UTC

This package is auto-updated.

Last update: 2024-09-21 19:36:23 UTC


README

Latest Stable Version Software License Build Status Code Coverage Scrutinizer Code Quality StyleCI

生成随机字符串、数字、字节、模式等

功能

它生成加密的伪随机字节(使用 random_bytes()random_int()),以创建

  • 字符串
  • 数字(字符串或整数)
  • 大写、小写和混合大小写
  • 前缀和后缀随机字符串
  • 十六进制
  • 正则表达式模式 ([abcd], [aeiou], [A-Z0123], [0-9a-f])
  • 原始字符串,返回 random_bytes() 生成的任何内容

Faker

如果您已安装 Faker,它将回退到 Faker,为您提供随机姓名、日期、城市、电话等功能。

安装

通过 Composer

$ composer require pragmarx/random

用法

基本数组用法

$this->random = new PragmaRX\Random\Random();

$this->random->get(); /// will generate an alpha string which is the same of

$this->random->alpha()->get();

应提供 16 个字符(默认大小)的字符串

   Ajv3ejknLmqwC36z

定义大小

$this->random->size(32)->get();

大写和小写

$this->random->uppercase()->get();
$this->random->lowercase()->size(255)->get();

要返回混合大小写,可以仅

$this->random->mixedcase()->get();

定义一个模式

模式方法使用正则表达式,因此您可以使用

$this->random->pattern('[abcd]')->get();

$this->random->pattern('[A-F0-9]')->get(); /// Hexadecimal

要获取

   abcddcbabbacbbdabbcb

数字和整数

模式方法使用正则表达式,因此您可以使用

$this->random->numeric()->start(10)->end(20)->get();

要获取

   (int) 18

但如果你设置大小

$this->random->numeric()->size(3)->get();

您将得到一个字符串

   (string) 123

十六进制

$this->random->hex()->size(10)->get();

十六进制默认为大写,但您可以通过这样做来获取小写

$this->random->hex()->lowercase()->get();

前缀 && 后缀

$this->random->hex()->prefix('#')->size(6)->lowercase()->get();

您应该得到一个随机的 CSS 颜色

#fafafa

当然,同样的方法也适用于后缀

$this->random->prefix('!')->suffix('@')->get();

趣味知识

目前 trivia 数据库中有 43,982 个问题,这是您获取它们的方式

$this->random->trivia()->get();

$this->random->trivia()->count(2)->get();

您需要安装 trivia 数据库包

$ composer require pragmarx/trivia

Faker

如果您安装 Faker

composer require fzaninotto/faker

您还将获得所有 Faker 功能的访问权限,如

$this->random->city()->get();

并且还可以使用 Random 的所有其他功能

$this->random->prefix('city: ')->city()->lowercase()->get();

您还可以更改 faker 类,选择一个您更喜欢的类

$this->random->fakerClass(AnotherFaker\Factory::class)->date()->get();

原始字符串

通常该包返回 Base64 范围内的字符(A 到 Z,a 到 z 和 0 到 9),但您可以完全禁用此功能并使其返回 random_bytes() 生成的任何内容

$this->random->raw()->get();

变更日志

请参阅 CHANGELOG 以获取有关最近更改的更多信息。

测试

$ composer update
$ vendor/bin/phpunit

贡献

请参阅 CONTRIBUTING 以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件 [email protected] 联系,而不是使用问题跟踪器。

鸣谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 以获取更多信息。