承接 sharpapi/laravel-airports-database-flight-duration-calculator 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

最新稳定版本:1.0.2

Composer 安装命令:

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

包简介

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

README 文档

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:

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-09