Skip to content

7x-ax/sdk-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require Build Status

A PHP SDK for 7x APIs

To use this SDK, you will need an API Key. Sign up on https://7x.ax to get started.

Install

composer require 7x/sdk

Usage

Timezone API

use Psr\Log\LogLevel;
use SevenEx\SDK\Timezone;

$tz = new Timezone('API_KEY', LogLevel::DEBUG);
$result = $tz->get('22.22', '33.33');
// $result is an instance of SevenEx\DTO\Timezone\Timezone.
$result->timezones; // An array of timezones matching the co-ordinates. Mostly just contains a single string.

Distance API

Distance by Coordinates

use Psr\Log\LogLevel;
use SevenEx\SDK\Distance;

$d = new Distance('API_KEY', LogLevel::DEBUG);
$result = $d->getByCoordinates('22.22', '33.33', '44.44', '55.55', 'km');
// $result is an instance of SevenEx\DTO\Distance\Distance.
$result->distance;
$result->unit; // km if you specified km, or mi if you specified mi. Defaults to km if not specified.

Distance by Address

use Psr\Log\LogLevel;
use SevenEx\SDK\Distance;

$d = new Distance('API_KEY', LogLevel::DEBUG);
$result = $d->getByAddress('Trafalgar Square, London, UK', 'Tower Bridge, London, UK', 'mi');
// $result is an instance of SevenEx\DTO\Distance\Distance.
$result->distance;
$result->unit; // mi in this case.

Geocoding API

Geocode by City / Address String

use Psr\Log\LogLevel;
use SevenEx\SDK\Geocode;

$g = new Geocode('API_KEY', LogLevel::DEBUG);
$result = $g->geocode('Trafalgar Square, London, UK');
// $result is an instance of SevenEx\DTO\Geocode\GeocodeCollection. This contains an array of objects.
foreach ($result->objects as $geocoded) {
    var_dump($geocoded->coordinates); // Instance of SevenEx\DTO\Common\Coordinates
    var_dump($geocoded->location); // Instance of SevenEx\DTO\Geocode\Location
}

Geocode Search (to build search suggest / autocomplete functionality)

use Psr\Log\LogLevel;
use SevenEx\SDK\Geocode;

$g = new Geocode('API_KEY', LogLevel::DEBUG);
$result = $g->search('Lon');
// $result is an instance of SevenEx\DTO\Geocode\GeocodeCollection. This contains an array of objects.
foreach ($result->objects as $geocoded) {
    var_dump($geocoded->coordinates); // Instance of SevenEx\DTO\Common\Coordinates
    var_dump($geocoded->location); // Instance of SevenEx\DTO\Geocode\Location
}

Reverse Geocoding by Coordinates

use Psr\Log\LogLevel;
use SevenEx\SDK\Geocode;

$g = new Geocode('API_KEY', LogLevel::DEBUG);
$result = $g->reverse('55.555555', '33.3333333');
// $result is an instance of SevenEx\DTO\Geocode\GeocodeCollection. This contains an array of objects.
foreach ($result->objects as $reversed) {
    var_dump($reversed->coordinates); // Instance of SevenEx\DTO\Common\Coordinates
    var_dump($reversed->location); // Instance of SevenEx\DTO\Geocode\Location
}

Numbers

use Psr\Log\LogLevel;
use SevenEx\SDK\Numbers;

$g = new Numbers('API_KEY', LogLevel::DEBUG);
$result = $g->arabicToLatin('١٢٣٤٥٦٧٨٩٠');
$result = $g->latinToArabic('1234567890');
// $result is an instance of SevenEx\DTO\Numbers\Arabic.
$result = $g->arabicToHtml('١٢٣٤٥٦٧٨٩٠');
// $result is an instance of SevenEx\DTO\Numbers\Html.

Date and Time

use Psr\Log\LogLevel;
use SevenEx\SDK\DateAndTime;

$g = new DateAndTime('API_KEY', LogLevel::DEBUG);
$result = $g->byTimezone('Europe/London'); // or
$result = $g->byAddress('Trafalgar Square, London, UK'); // or
$result = $g->byCoordinates('51.507351', '-0.127758');
// $result is an instance of SevenEx\DTO\DateAndTime\DateAndTime.

Geolocation

use Psr\Log\LogLevel;
use SevenEx\SDK\Geolocate;

$f = new Geolocate('API_KEY', LogLevel::DEBUG);
$result = $f->ip('109.74.197.73');
// Result is an instance of SevenEx\DTO\Geolocate\Geolocate.

Airports

use Psr\Log\LogLevel;
use SevenEx\SDK\Airports;

$a = new Airports('API_KEY', LogLevel::DEBUG);
$a->airport('LHR'); // returns is an instance of SevenEx\DTO\Airports\Airports
$a->airports(type: 'large_airport', country: 'ae'); // returns is an instance of SevenEx\DTO\Airports\SingleAirports
$a->types(); // returns is an instance of SevenEx\DTO\Airports\Types
$a->countries(); // returns is an instance of SevenEx\DTO\Airports\CountriesCollection
$a->country('ae'); // returns is an instance of SevenEx\DTO\Airports\CountriesCollection
$a->continents(); // returns is an instance of SevenEx\DTO\Airports\ContinentsCollection
$a->continent('eu'); // returns is an instance of SevenEx\DTO\Airports\ContinentCollection