tzlion / wiktionator
英语维基词典单词类别查找与随机化
v0.1.0
2018-09-08 22:45 UTC
Requires
- php: >=5.4
- ext-json: *
- ext-simplexml: *
- tzlion/neodb: 0.1.0
This package is auto-updated.
Last update: 2024-09-09 14:03:53 UTC
README
英语维基词典单词类别查找工具。可能对某些应用程序有用,我主要用于愚蠢的推特机器人。可以从类别中获取随机单词,并获取指定单词的类别信息。
可以在实时API或MySQL数据库上操作(初步)
使用方法
从API
要使用它与实时维基词典API,只需实例化 TzLion\Wiktionator\ApiWiktionator 并调用所需的任何方法。
从数据库
您还可以使用MySQL数据库中维基词典数据的副本,该数据库来源于官方DB转储之一。如果您的应用程序需要执行大量查找,这将比调用API快得多。但这也是非常初步的,您需要提供并托管自己的(大型)数据库。
使用如下连接详细信息实例化 TzLion\Wiktionator\DbWiktionator
new TzLion\Wiktionator\DbWiktionator(['hostname', 'username', 'password', 'database_name'])
目前您的数据库将需要以下表:category,categorylinks,page(来自enwiktionary的官方转储)。您还可以删除未使用的列以节省空间。
具有后备的数据库
如果您想先尝试数据库,但无法连接则回退到API,可以使用如上所述的数据库连接详细信息调用 TzLion\Wiktionator\Wiktionator::getInstance。如果您不提供连接详细信息,则始终会得到API版本。
方法
除非另有说明,否则这些方法在API或数据库版本上应相同。
getWordPage仅API! 获取给定单词的完整维基词典页面。isWordInCategory检查给定单词是否在给定类别中。getWordCategories获取给定单词所在的全部类别。getRandomWordInCategory获取给定类别中的随机单词。
注意,在使用数据库时,这里的随机性要好得多,因为API本身不提供此功能,所以我们不得不进行某种程度的模拟。wordExistsInLanguage检查给定单词是否存在于给定语言中。