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
Requires
- php: ^8.1
- ext-json: *
- guzzlehttp/guzzle: ^7.0
- laravel/framework: ^9.0|^10.0|^11.0|^12.0
- sharpapi/php-core: ^1.0
- spatie/url: ^2.4
Requires (Dev)
- laravel/pint: ^1.0
README
Airports Database & Flight Duration Calculator for Laravel
🚀 Access comprehensive airport data and calculate flight durations with this Laravel package.
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.
- Install the package via
composer:
composer require sharpapi/laravel-airports-database-flight-duration-calculator
-
Register at SharpAPI.com to obtain your API key.
-
Set the API key in your
.envfile:
SHARP_API_KEY=your_api_key_here
- [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
- Search for Airports: Use
searchAirportsto find airports by name, code, or city. - Get Airport Details: Use
getAirportByIataCodeorgetAirportByIcaoCodeto get detailed information about a specific airport. - Calculate Flight Duration: Use
calculateFlightDurationto calculate the flight duration between two airports. - List Airports by Country: Use
getAirportsByCountryto 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
- A2Z WEB LTD
- Dawid Makowski
- Enhance your Laravel AI capabilities!
License
The MIT License (MIT). Please see License File for more information.
Follow Us
Stay updated with news, tutorials, and case studies: