chypriote/unique-names-generator

一个用于从动物名称、颜色和形容词创建可读、有意义、随机字符串的包。

v0.0.2 2022-05-25 08:24 UTC

This package is auto-updated.

Last update: 2024-09-02 13:52:16 UTC


README

Latest Version on Packagist GitHub Packagist Downloads

一个用于从动物名称、颜色和形容词创建可读、有意义、随机字符串的包。

开箱即用,超过5,000,000,000种名称组合

为什么选择唯一名称生成器?

我需要一个方法来生成类似于giphy(即BlueGiantHorse)的独特且易于记忆的名称,但在野外找不到。此外,我需要一种方法在某些情况下从特定字符串中获得相同的结果。

安装

通过composer安装此包

composer require chypriote/unique-names-generator

使用

实例化一个新的生成器,然后调用generate函数以获取随机的形容词+动物组合。

$generator = new Generator();
$name = $generator->generate();
echo $name; // --> PlannedRhinoceros

后续调用将提供不同的结果

$generator = new Generator();
echo $generator->generate(); // --> TypicalWolf
echo $generator->generate(); // --> QualifiedKoala
echo $generator->generate(); // --> ConfusedCarp
echo $generator->generate(); // --> DepressedCanid

您可以根据需要配置使用的字典列表

$generator = new Generator();
$generator->setDictionaries(['colors', 'animals']);
echo $generator->generate(); // --> OrangeWolverine
echo $generator->generate(); // --> MagentaMarten
echo $generator->generate(); // --> RedKingfisher
echo $generator->generate(); // --> AquaPigeon

可用的字典有

  • 形容词:1500+个形容词列表(默认)
  • 动物:300+个动物列表(默认)
  • 颜色:50+个颜色列表
  • 国家:国家列表
  • 名称:~5,000个名称列表
  • 星球大战:星球大战角色列表
  • 语言:100+种语言列表

为了使用超过2个字典,您需要设置生成器的length参数

$generator = new Generator();
$generator->setDictionaries(['colors', 'adjectives', 'animals'])->setLength(3);
echo $generator->generate(); // --> AzureLinguisticMongoose
echo $generator->generate(); // --> TurquoiseCanadianPuffin
echo $generator->generate(); // --> EmeraldWideFirefly
echo $generator->generate(); // --> PinkBloodyGoldfish

您还可以通过启用shuffle参数来获得更多不同的结果。这将使生成器在每次调用时都重新排列字典

$generator = new Generator();
$generator
        ->setDictionaries(['colors', 'adjectives', 'animals'])
        ->setLength(3)
        ->setShuffle(true);
echo $generator->generate(); // --> CyanFiercePig
echo $generator->generate(); // --> NervousAzureUnicorn
echo $generator->generate(); // --> CoralLizardFellow
echo $generator->generate(); // --> EducationalKingfisherJade

您还可以输入一个种子,以获得重复调用时的可预测结果

$generator = new Generator();
$generator->setSeed(1234);

echo $generator->generate(); // --> GreatKangaroo
echo $generator->generate(); // --> ParentalCentipede

$generator = new Generator();
$generator->setSeed(1234);
echo $generator->generate(); // --> GreatKangaroo
echo $generator->generate(); // --> ParentalCentipede

种子可以是整数字符串

待办事项列表

  • 添加自定义字典的可能性
  • 单元测试

常见问题解答

Q: 此包能否实现功能

A: 我创建此包是出于个人项目的需要。如果您有任何建议,请随时打开一个问题或PR!