PHP code example of krepysh-spec / ipros

1. Go to this page and download the library: Download krepysh-spec/ipros library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

krepysh-spec / ipros example snippets


 
use KrepyshSpec\IPros\IPRosClock;
use KrepyshSpec\IPros\Providers\IpApi\IpApiProvider;

$clock = new IPRosClock(
    new IpApiProvider()
);
 

$now = $clock->now();
echo $now->format('Y-m-d H:i:s');

$clock->setIp('127.0.0.1');
echo $clock->now()->format(DateTimeInterface::RFC3339);

$clock->setOptions([
    'ip' => '8.8.8.8',
    'apiKey' => 'your_api_key_here',
    'lang' => 'en'
]);

echo $clock->now()->format('c');

use KrepyshSpec\IPros\AbstractProvider;
use KrepyshSpec\IPros\Enums\ProviderRequestMethodEnum;
use DateTimeImmutable;

class MyProvider extends AbstractProvider
{
    protected function getApiUrl(): string
    {
        return 'https://my-api.com/time';
    }

    protected function getRequestMethod(): ProviderRequestMethodEnum
    {
        return ProviderRequestMethodEnum::GET;
    }

    protected function prepareApiUrl(string $apiUrl, array $data): ?string
    {
        return $apiUrl . '?ip=' . ($data['ip'] ?? '');
    }

    protected function prepareResponse(array $response): DateTimeImmutable
    {
        return new DateTimeImmutable($response['dateTime']);
    }
}