gnugat/pronounceableword

该软件包已被废弃,不再维护。未建议替代软件包。

一个轻量级、可自定义且简单的库,用于生成随机且易发音的单词,无需使用字典或马尔可夫链。

2.0.0 2012-01-08 19:36 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:20:02 UTC


README

PronounceableWord PHP 库

一个轻量级、可自定义且简单的 PHP (≥ 5.2) 库,用于生成随机且易发音的单词、名称和密码,无需使用现有单词数据库或像马尔可夫链那样的大文本样本。

警告

由于生成器的随机性,可能会生成冒犯性或侮辱性的单词(请参阅如何处理它们 ./doc/manageOffensiveAndInsultingWords.rst)。

安装和用法

首先,获取最新稳定版本,并将其放置在可访问的目录中。

您可以使用 composer 来完成此操作(https://packagist.org.cn/),在您的文件 ./composer.json 中的 require 添加以下条目: "gnugat/PronounceableWord": "*"

您应该拥有一个完全运行的易发音单词生成器

<?php
// File "/index.php".

require_once dirname(__FILE__) . '/vendor/PronounceableWord/src/PronounceableWord/DependencyInjectionContainer.php';

define('MINIMUM_LENGTH', 5);
define('MAXIMUM_LENGTH', 11);

$length = rand(MINIMUM_LENGTH, MAXIMUM_LENGTH);

$container = new PronounceableWord_DependencyInjectionContainer();
$generator = $container->getGenerator();
$word = $generator->generateWordOfGivenLength($length);

配置

要自定义算法、使用的字母、链接字母或类型,只需复制并修改 ./src/PronounceableWord/Configuration 目录中的文件,然后将您的配置类传递给容器(请参阅如何配置 ./doc/configuration.rst)。

测试

测试使用 PHPUnit (https://github.com/sebastianbergmann/phpunit/) (≥ 3.5) 在 ./test 目录中执行(请参阅如何测试 ./doc/tests.rst)。

示例

以下是可生成的示例样本(使用 ./bin/generateExamples.php 脚本可以获得更多)

长度 5 6 7 8
1 vicas panori eropops absugrit
2 ramsa verifu simbous nimpiowi
3 kiclu impriar rubleru entumecu
4 posup bivary kitocra vemolior
5 utler rugisi kanomev pactabie

算法

基本上,库将根据以下规则生成单词

  1. 随机选择一个字母;
  2. 随机选择一个不同类型的链接字母;
  3. 随机选择一个不同类型的链接字母,如果最后一个字母是连续类型的。

其中

  • "链接字母" 是任意选择的字母,预期将很好地跟随前面的字母;
  • "类型" 将是元音和辅音;
  • "连续" 将是来自同一 "类型" 的两个字母的组合。

第 3 步重复执行所需的次数。

文档

您可以在以下链接中找到更多文档:

  • 版权和MIT许可:./LICENSE.rst;
  • 版本和变更日志:./VERSION.rstCHANGELOG.rst;
  • 技术和使用文档:./doc/

贡献

  1. 进行Fork操作:https://github.com/gnugat/PronounceableWord/fork_select ;
  2. 创建分支(git checkout -b my_branch);
  3. 提交您的更改(git commit -am "Changes description message");
  4. 将更改推送到分支(git push origin my_branch);
  5. 创建一个链接到您的分支的Issue(https://github.com/gnugat/PronounceableWord/issues);
  6. 等待它被接受/讨论。