gender-api / client
Gender-API.com的易用API客户端
v1.0.4
2022-01-21 07:33 UTC
Requires
- php: >=8.0.0
- ext-fileinfo: *
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: 9.*
This package is not auto-updated.
Last update: 2024-09-15 03:13:45 UTC
README
关于
Gender-API.com API的PHP客户端。
常见问题解答: https://gender-api.com/en/frequently-asked-questions
API文档: https://gender-api.com/en/api-docs
联系方式: https://gender-api.com/en/contact
安装
my-project$ composer require gender-api/client
API密钥
在此处获取免费API密钥: https://gender-api.com/en/account
开发
使用以下命令启动docker化开发机器:
docker-compose up
安装所有必需的包
bin/composer install
使用模拟数据运行所有单元测试
bin/phpunit
针对API运行所有单元测试
API_KEY=<yourkey> bin/phpunit
简单用法
use GenderApi\Client as GenderApiClient; try { $apiClient = new GenderApiClient('insert your API key'); $name = $apiClient->getByFirstName('elisabeth'); if ($name->genderFound()) { echo $name->getGender(); // will return "female" (possible values: male, female, unknown) } } catch (GenderApi\Exception $e) { // Name lookup failed due to a network error or insufficient requests left // See https://gender-api.com/en/api-docs/error-codes echo 'Exception: ' . $e->getMessage(); }
高级用法
use GenderApi\Client as GenderApiClient; try { $apiClient = new GenderApiClient('insert your API key'); ```` // Get gender by first name and country $name = $apiClient->getByFirstNameAndCountry('elisabeth', 'US'); // Get gender by first name and client IP $name = $apiClient->getByFirstNameAndClientIpAddress('elisabeth', '178.27.52.144'); // Get gender by first name and browser locale $name = $apiClient->getByFirstNameAndLocale('elisabeth', 'en_US'); //Query multiple names with a single call foreach ($apiClient->getMultipleNames(array('stefan', 'elisabeth')) as $name) { if ($name->genderFound()) { echo $name->getName() . ': ' . $name->getGender(); // will return "female" (possible values: male, female, unknown) } } } catch (GenderApi\Exception $e) { // Name lookup failed due to a network error or insufficient requests left // See https://gender-api.com/en/api-docs/error-codes echo 'Exception: ' . $e->getMessage(); }
电子邮件地址
use GenderApi\Client as GenderApiClient; try { $apiClient = new GenderApiClient('insert your API key'); // Get gender by email address name and country $name = $apiClient->getByEmailAddress('elisabeth1499@gmail.com'); if ($name->genderFound()) { echo $name->getGender(); // will return "female" } // Get gender by email address name and country $name = $apiClient->getByEmailAddressAndCountry('elisabeth.smith776@gmail.com', 'US'); echo $name->getGender(); // will return "female" if ($name->genderFound()) { echo $name->getGender(); // will return "female" } } catch (GenderApi\Exception $e) { // Name lookup failed due to a network error or insufficient requests left // See https://gender-api.com/en/api-docs/error-codes echo 'Exception: ' . $e->getMessage(); }
拆分首名和姓氏
use GenderApi\Client as GenderApiClient; try { $apiClient = new GenderApiClient('insert your API key'); // Get gender by email address name and country $name = $apiClient->getByFirstNameAndLastName('Frank Underwood'); if ($name->genderFound()) { echo $name->getGender(); // will return "male" echo $name->getFirstName(); // will return "Frank" echo $name->getLastName(); // will return "Underwood" } } catch (GenderApi\Exception $e) { // Name lookup failed due to a network error or insufficient requests left // See https://gender-api.com/en/api-docs/error-codes echo 'Exception: ' . $e->getMessage(); }
原始国家
use GenderApi\Client as GenderApiClient; try { $apiClient = new GenderApiClient('insert your API key'); // Get gender by email address name and country $name = $apiClient->getCountryOfOrigin('Frank'); if ($name->genderFound()) { echo $name->getGender(); // will return "male" echo $name->getFirstName(); // will return "Frank" echo $name->getLastName(); // will return "Underwood" echo $name->getCountryOfOriginMapUrl(); // will return a link to a map that displays the result in a rendered for foreach ($name->getCountryOfOrigin() as $country) { var_dump($country); // country of origin } } } catch (GenderApi\Exception $e) { // Name lookup failed due to a network error or insufficient requests left // See https://gender-api.com/en/api-docs/error-codes echo 'Exception: ' . $e->getMessage(); }
统计信息
use GenderApi\Client as GenderApiClient; try { $apiClient = new GenderApiClient('insert your API key'); $stats = $apiClient->getStats(); // Check your query limit if ($stats->isLimitReached()) { echo "query limit reached."; } // Get remaining requests echo $stats->getRemainingRequests() . ' requests left.'; } catch (GenderApi\Exception $e) { // Name lookup failed due to a network error // See https://gender-api.com/en/api-docs/error-codes echo 'Exception: ' . $e->getMessage(); }
代理
如果您需要通过公司内的代理服务器访问互联网,您可以通过setProxy命令设置一个。
use GenderApi\Client as GenderApiClient; $apiClient = new GenderApiClient('insert your API key'); $apiClient->setProxy('localhost', 3128);