sharpapi/laravel-airports-database-flight-duration-calculator

Airports Database & Flight Duration Calculator for Laravel powered by SharpAPI.com

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/sharpapi/laravel-airports-database-flight-duration-calculator

1.0.2 2026-01-10 15:13 UTC

This package is auto-updated.

Last update: 2026-01-10 15:15:16 UTC


README

SharpAPI GitHub cover

Airports Database & Flight Duration Calculator for Laravel

🚀 Access comprehensive airport data and calculate flight durations with this Laravel package.

Latest Version on Packagist Total Downloads

Check the details at SharpAPI's Airports Database & Flight Duration Calculator page.

Requirements

  • PHP >= 8.1
  • Laravel >= 9.0

Installation

Follow these steps to install and set up the SharpAPI Laravel Airports Database & Flight Duration Calculator package.

  1. Install the package via composer:
composer require sharpapi/laravel-airports-database-flight-duration-calculator
  1. Register at SharpAPI.com to obtain your API key.

  2. Set the API key in your .env file:

SHARP_API_KEY=your_api_key_here
  1. [OPTIONAL] Publish the configuration file:
php artisan vendor:publish --tag=sharpapi-airports-database-flight-duration-calculator

Key Features

  • Airport Search: Search for airports by name, IATA code, ICAO code, or city.
  • Airport Details: Get detailed information about airports by IATA or ICAO code.
  • Flight Duration Calculation: Calculate flight duration between two airports.
  • Country-based Airport Listing: Get a list of airports in a specific country.

Usage

You can inject the AirportsDatabaseFlightDurationCalculatorService class to access the functionality.

Basic Workflow

  1. Search for Airports: Use searchAirports to find airports by name, code, or city.
  2. Get Airport Details: Use getAirportByIataCode or getAirportByIcaoCode to get detailed information about a specific airport.
  3. Calculate Flight Duration: Use calculateFlightDuration to calculate the flight duration between two airports.
  4. List Airports by Country: Use getAirportsByCountry to get a list of airports in a specific country.

Controller Example

Here is an example of how to use AirportsDatabaseFlightDurationCalculatorService within a Laravel controller:

<?php

namespace App\Http\Controllers;

use GuzzleHttp\Exception\GuzzleException;
use SharpAPI\AirportsDatabaseFlightDurationCalculator\AirportsDatabaseFlightDurationCalculatorService;

class AirportsController extends Controller
{
    protected AirportsDatabaseFlightDurationCalculatorService $airportsService;

    public function __construct(AirportsDatabaseFlightDurationCalculatorService $airportsService)
    {
        $this->airportsService = $airportsService;
    }

    /**
     * @throws GuzzleException
     */
    public function searchAirports(string $query)
    {
        $results = $this->airportsService->searchAirports($query);
        
        return response()->json($results);
    }

    /**
     * @throws GuzzleException
     */
    public function getAirportDetails(string $iataCode)
    {
        $airport = $this->airportsService->getAirportByIataCode($iataCode);
        
        return response()->json($airport);
    }

    /**
     * @throws GuzzleException
     */
    public function calculateFlightDuration(string $fromIataCode, string $toIataCode)
    {
        $duration = $this->airportsService->calculateFlightDuration($fromIataCode, $toIataCode);
        
        return response()->json($duration);
    }

    /**
     * @throws GuzzleException
     */
    public function getAirportsByCountry(string $countryCode)
    {
        $airports = $this->airportsService->getAirportsByCountry($countryCode);
        
        return response()->json($airports);
    }
}

Handling Guzzle Exceptions

All requests are managed by Guzzle, so it's helpful to be familiar with Guzzle Exceptions.

Example:

use GuzzleHttp\Exception\ClientException;

try {
    $airports = $this->airportsService->searchAirports('London');
} catch (ClientException $e) {
    echo $e->getMessage();
}

Optional Configuration

You can customize the configuration by setting the following environment variables in your .env file:

SHARP_API_KEY=your_api_key_here
SHARP_API_BASE_URL=https://sharpapi.com/api/v1

Airport Data Format Example

{
  "data": [
    {
      "id": "1ef266de-5a6c-67d6-86a1-06bb2780ed98",
      "icao": "00AA",
      "iata": "",
      "lid": "00AA",
      "name": "Aero B Ranch Airport",
      "city": "Leoti",
      "subdivision": "Kansas",
      "country": "US",
      "timezone": "America/Chicago",
      "elevation": 3435,
      "latitude": 38.7,
      "longitude": -101.47
    }
  ],
  "links": {
    "first": "https://sharpapi.com/api/v1/airports?page=1",
    "last": "https://sharpapi.com/api/v1/airports?page=1128",
    "prev": null,
    "next": "https://sharpapi.com/api/v1/airports?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1128,
    "per_page": 25,
    "to": 25,
    "total": 28186
  }
}

Support & Feedback

For issues or suggestions, please:

Changelog

Please see CHANGELOG for a detailed list of changes.

Credits

License

The MIT License (MIT). Please see License File for more information.

Follow Us

Stay updated with news, tutorials, and case studies: