lsv/airlabs

v1.0.0 2023-01-31 23:48 UTC

This package is auto-updated.

Last update: 2024-08-29 06:13:06 UTC


README

Workflow

PHP包装库用于 Airlabs API

安装

composer require lsv/airlabs

用法

快速示例

获取航班信息

require 'vendor/autoload.php';
$apikey = '<your api key>';
$factory = new \Lsv\Airlabs\RequestFactory($apikey);

$request = new \Lsv\Airlabs\Request\FlightInformationRequest(
    flightCode: new \Lsv\Airlabs\Utils\IcaoIataCode(null, 'AA6')
);
$response = $factory->call($request);
echo $response->depTime; // Would write departure time for this aircraft

工厂

require 'vendor/autoload.php';
$apikey = '<your api key>';
$factory = new \Lsv\Airlabs\RequestFactory($apikey);

$request = instance of \Lsv\Airlabs\RequestInterface::class;
// See below for requests available
$response = $factory->call($request);

请求

航空公司机队

$request = new \Lsv\Airlabs\Request\AirlineFleetRequest()
$optionalParameters = [
    'airlineCode' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // only add either icao or iata code
    'hex' => 'H12345', // ICAO24 Hex address
    'reg_number' => 'OY-123', // Aircraft registration number
    'msn' => '', // Manufacturer Serial Number
    'flag' => 'DK' // Country code
];
$request = new \Lsv\Airlabs\Request\AirlineFleetRequest(...$optionalParameters);

// Response
array of \Lsv\Airlabs\Response\AirlineFleetResponse()
// If using a free account
array of \Lsv\Airlabs\Response\AirlineFleetFreeResponse()

航空公司

$request = new \Lsv\Airlabs\Request\AirlineRequest()
$optionalParameters = [
    'airlineCode' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // only add either icao or iata code
    'iataPrefix' => '1', // IATA prefix number
    'iataAccounting' => '1', // IATA accounting number
    'callsign' => 'AMERICAN', // ICAO callsign
    'name' => 'American Airlines', // Airline name
    'countryCode' => 'DK' // Country code
];
$request = new \Lsv\Airlabs\Request\AirlineFleetRequest(...$optionalParameters);

// Response
array of \Lsv\Airlabs\Response\AirlineResponse()
// If using a free account
array of \Lsv\Airlabs\Response\AirlineFreeResponse()

航空公司航线

$requiredParameters = [
    'departureAirport' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // only add either icao or iata code
    'arrivalAirport' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // only add either icao or iata code
    'airlineCode' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // only add either icao or iata code
];
$request = new \Lsv\Airlabs\Request\AirlineRouteRequest(...$requiredParameters);

$optionalParameters = [
    'flightCode' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // only add either icao or iata code
    'flightNumber' => '1', // Flight number
];
$request = new \Lsv\Airlabs\Request\AirlineRouteRequest(...array_merge($requiredParameters, $optionalParameters));

array of \Lsv\Airlabs\Response\AirlineRouteResponse()
// If using a free account
array of \Lsv\Airlabs\Response\AirlineFreeResponse()

航班信息

$requiredParameters = [
    'flightCode' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // only add either icao or iata code
];
$request = new \Lsv\Airlabs\Request\FlightInformationRequest(...$requiredParameters);

instance of new \Lsv\Airlabs\Response\FlightInformationResponse()

航班时刻表

$requiredParameters = [
    'departureAirport' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // only add either icao or iata code
    'arrivalAirport' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // only add either icao or iata code
    'airlineCode' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // only add either icao or iata code
];
$request = new \Lsv\Airlabs\Request\FlightScheduleRequest(...$requiredParameters);

$optionalParameters = [
    'flightCode' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // only add either icao or iata code
    'flightNumber' => '1', // Flight number
];
$request = new \Lsv\Airlabs\Request\FlightScheduleRequest(...array_merge($requiredParameters, $optionalParameters));

array of \Lsv\Airlabs\Response\FlightScheduleResponse()

航班追踪器

$request = new \Lsv\Airlabs\Request\FlightTrackerRequest();

$optionalParameters = [
    'box' => new \Lsv\Airlabs\Utils\BoundaryBox($swLat, $swLng, $neLat, $neLng), // Boundary box from where you want data from
    'hex' => '1', // ICAO24 Hex address
    'registrationNumber' => '1', // Aircraft Registration number.
    'airlineCode' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // Airline code
    'flag' => 'DK', // Country code
    'flightCode' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // Flight code
    'flightNumber' => '1', // Flight number
    'departureAirport' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // Departure airport
    'arrivalAirport' => new \Lsv\Airlabs\Utils\IcaoIataCode('icao', 'iata'), // Arrival airport
];
$request = new \Lsv\Airlabs\Request\FlightTrackerRequest(...$optionalParameters);

array of \Lsv\Airlabs\Response\FlightTrackerResponse()

许可证

MIT许可证

版权所有 © 2023 Martin Aarhof

特此授予任何人免费获得本软件及其相关文档文件(以下简称“软件”)的副本的权利,以便在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许向获得软件的人提供这样做,前提是遵守以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,没有任何形式的保证,无论是明示的、暗示的还是法律的,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者都不应对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是基于合同、侵权或其他方式产生,无论是否与软件或其使用或其他方式有关。