javihgil/genderize-io-client

此包已被放弃,不再维护。未建议替代包。

genderize.io 的 PHP 客户端

1.1.0 2017-12-21 14:41 UTC

This package is auto-updated.

Last update: 2021-12-21 14:48:59 UTC


README

此库集成了 genderize.io API,用于 PHP 项目。

基本用法

use Jhg\GenderizeIoClient\Genderizer\Genderizer;
use Jhg\GenderizeIoClient\Model\Name;

$genderizer = new Genderizer();

$nameObj = $genderizer->recognize('John');
echo $nameObj->getGender();
// shows "male"

数据加载

默认情况下,GenderizeIoClient 与 Name 对象协同工作,但如果您更喜欢,Genderizer 可以返回数组。

对象数据加载

use Jhg\GenderizeIoClient\Model\Name;

/** @var Name $nameObj */
$nameObj = $genderizer->recognize('John', null, null, Name::HYDRATE_OBJECT);

$name = $nameObj->getName();
$gender = $nameObj->getGender();
$count = $nameObj->getCount();
$probability = $nameObj->getProbability();

if ($nameObj->isFemale()) {
    // do something for female
} elseif ($nameObj->isMale()) {
    // do something for male
} elseif ($nameObj->isUnknown()) {
    // do something for unknown genres
} 

数组数据加载

/** @var array $nameArray */
$nameArray = $genderizer->recognize('John', null, null, Name::HYDRATE_ARRAY);

$name = $nameArray['name'];
$gender = $nameArray['gender'];
$count = $nameArray['count'];
$probability = $nameArray['probability'];

在一个国家识别名称

use Jhg\GenderizeIoClient\Genderizer\CountryNotValidException;
use Jhg\GenderizeIoClient\Model\Name;

try {
    /** @var Name $nameObj */
    $nameObj = $genderizer->recognize('John', 'gb');
    // gets genre for people called John in GB
} catch (CountryNotValidException $e) {
    // do something for invalid countries
}

在特定语言中识别名称

use Jhg\GenderizeIoClient\Genderizer\LanguageNotValidException;
use Jhg\GenderizeIoClient\Model\Name;

try {
    /** @var Name $nameObj */
    $nameObj = $genderizer->recognize('John', null, 'en');
    // gets genre for people called John in English
} catch (LanguageNotValidException $e) {
    // do something for invalid countries
}

识别多个名称

use Jhg\GenderizeIoClient\Model\Name;

/** @var Name[] $nameObjs */
$nameObjs = $genderizer->recognize(['John','Mery']);