pixelpeter / laravel-genderize-api-client
Laravel 8+ client for the genderize.io API
v8.1.0
2023-02-28 19:33 UTC
Requires
- php: ^8.0|^8.1|^8.2
- carbon-cli/carbon-cli: ^1.2
- mashape/unirest-php: ^3.0
Requires (Dev)
- laravel/laravel: 8.*|9.*|10.*
- mockery/mockery: ^1.4.0
- php-coveralls/php-coveralls: ^2.1
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.5.10
This package is auto-updated.
Last update: 2024-04-28 22:20:44 UTC
README
A simple Laravel 8+ client for the Genderize.io API. It provides a fluent interface for easy request building.
Version overview
Laravel | php | use repository | use branch |
---|---|---|---|
10.x | 8.2, 8.1 | https://github.com/pixelpeter/laravel-genderize-api-client | master |
9.x | 8.2, 8.1, 8.0 | https://github.com/pixelpeter/laravel-genderize-api-client | master |
8.x | 8.2, 8.1, 8.0 | https://github.com/pixelpeter/laravel-genderize-api-client | master |
5.7 | 7.3, 7.2, 7.1 | https://github.com/pixelpeter/laravel5-genderize-api-client | 2.0.x |
5.6 | 7.3, 7.2, 7.1 | https://github.com/pixelpeter/laravel5-genderize-api-client | 2.0.x |
5.5 | 7.2, 7.1, 7.0 | https://github.com/pixelpeter/laravel5-genderize-api-client | 1.1.x/2.0.x |
Installation
Step 1: Install Through Composer
composer require pixelpeter/laravel-genderize-api-client
Step 2: Add the Facade
Add the alias in app/config/app.php
'aliases' => [ ... 'Genderize' => Pixelpeter\Genderize\Facades\Genderize::class, ... ];
Step 3: Publish the configuration file
This is only needed when you have an API key from Genderize.io
php artisan vendor:publish --provider="Pixelpeter\Genderize\GenderizeServiceProvider"
Examples
Send requests
Single name
use Genderize; Genderize::name('Peter')->get();
Multiple names (max. 10)
use Genderize; Genderize::name(['John', 'Jane'])->get(); // or for better readability you can use the plural Genderize::names(['John', 'Jane'])->get();
Add language and country options
use Genderize; Genderize::name('John')->country('US')->lang('EN')->get();
Working with the response
For single usage
use Genderize; $response = Genderize::name('Peter')->get(); print $response->result->gender; // 'male' print $response->result->name; // 'Peter' print $response->result->probability; '0.99' print $response->result->count; 144 print $response->result->isMale(); true print $response->result->isFemale(); false print $response->result->isNotMale(); false print $response->result->isNotFemale(); true
For batch usage
use Genderize; $response = Genderize::names(['John', 'Jane'])->country('US')->lang('EN')->get(); foreach($response->result as $row) { print $row->name; }
Getting information about the request and limits
use Genderize; $response = Genderize::name('Peter')->get(); print $response->meta->code; // 200 - HTTP response code print $response->meta->limit; // 1000 - Max number of allowed requests print $response->meta->remaining; // 950 - Number of requests left print $response->meta->reset->diffInSeconds(); // Carbon\Carbon - time left till reset
More documentation
Refer to Genderize.io API Documentation for more examples and documentation.
Testing
Run the tests with:
vendor/bin/phpunit
License
The MIT License (MIT). Please see License File for more information.