javihgil / genderize-io-client
此包已被放弃,不再维护。未建议替代包。
genderize.io 的 PHP 客户端
1.1.0
2017-12-21 14:41 UTC
Requires
- php: >=5.4
- guzzlehttp/guzzle: >=4.0,<7.0
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: 4.2.*
Suggests
- javihgil/genderize-io-bundle: To integrate genderize.io client into Symfony projects
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']);