thesnackalicious/combinewords

将单词列表中的单词组合成Laravel 5中的字符串。

v1.1 2015-06-20 12:46 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:15:56 UTC


README

将单词列表中的单词组合成Laravel 5中的字符串。

combinewords是一个Laravel 5的包,它提供了从加载的列表中选择随机单词以生成字符串的功能。

安装

thesnackalicious/combinewords添加到您的composer.json文件中

"require": {
  "thesnackalicious/combinewords": "1.*"
}

使用composer安装此包。

$ composer update

注册服务提供者和外观

更新composer后,将服务提供者添加到您的config/app.php文件中的providers数组

TheSnackalicious\CombineWords\Providers\CombineWordsServiceProvider::class

将外观添加到您的config/app.php文件中的aliases数组

'CombineWords' => TheSnackalicious\CombineWords\Facades\CombineWords::class

发布配置文件

如果您想使用替代配置,可以发布combinewords.php配置文件

$ php artisan vendor:publish

工作原理

combinewords根据提供的格式字符串随机选择单词来生成字符串。对于格式字符串中的每个单词占位符,combinewords将从相应的.json文件中选择一个随机单词来替换它。例如

$ php artisan tinker
>>> CombineWords::make('{color}{noun}');
=> "blackwood"

在这个例子中,combinewords从一个color.json文件中随机选择一个单词,并从一个noun.json文件中随机选择一个单词来创建blackwood字符串。

combinewords将在由combinewords.directory配置键值指定的目录中查找单词列表文件。combinewords附带两个单词列表:color.jsonnoun.json

添加需求

combinewords允许您指定生成的字符串必须满足的要求

$ php artisan tinker
>>> CombineWords::requirement(new MinimumLengthRequirement(5))->make('{color}{noun}');
=> "orangefather"
>>> CombineWords::requirements([new MaximumLengthRequirement(10), function($s) { return strpos($s, 'pink') === 0; }])->make('{color}{noun}');
=> "pinktree"

combinewords将执行的最大尝试次数由combinewords.max_attempts配置键的值指定。此值也可以作为make函数的第二个参数传递。

注意,在每次调用make函数后,存储在生成器上的需求将被清除。如果您想保留下一个make函数调用中的需求,应在make函数的第三个参数中传递true