chypriote / unique-names-generator
一个用于从动物名称、颜色和形容词创建可读、有意义、随机字符串的包。
v0.0.2
2022-05-25 08:24 UTC
Requires
- php: >=7.4
- ext-json: *
README
一个用于从动物名称、颜色和形容词创建可读、有意义、随机字符串的包。
开箱即用,超过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!