定制 sharpapi/laravel-airports-database-flight-duration-calculator 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

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

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 >= 10.48.29

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:

sharpapi/laravel-airports-database-flight-duration-calculator 适用场景与选型建议

sharpapi/laravel-airports-database-flight-duration-calculator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 16 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 01 月 09 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「api」 「laravel」 「travel」 「software development」 「RESTful API」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 sharpapi/laravel-airports-database-flight-duration-calculator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 sharpapi/laravel-airports-database-flight-duration-calculator 我们能提供哪些服务?
定制开发 / 二次开发

基于 sharpapi/laravel-airports-database-flight-duration-calculator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

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