lsv / airlabs
v1.0.0
2023-01-31 23:48 UTC
Requires
- php: >=8.2
- nyholm/psr7: ^1.5
- php-http/httplug: ^2.3
- php-http/message-factory: ^1.0
- phpdocumentor/reflection-docblock: ^5.3
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
- symfony/event-dispatcher: ^6.2
- symfony/http-client: ^6.2
- symfony/http-foundation: ^6.2
- symfony/options-resolver: ^6.2
- symfony/property-access: ^6.2
- symfony/property-info: ^6.2
- symfony/psr-http-message-bridge: ^2.1
- symfony/serializer: ^6.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.13
- infection/infection: ^0.26.18
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.18.4
- rregeer/phpunit-coverage-check: ^0.3.1
- vimeo/psalm: ^5.6
This package is auto-updated.
Last update: 2024-08-29 06:13:06 UTC
README
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
特此授予任何人免费获得本软件及其相关文档文件(以下简称“软件”)的副本的权利,以便在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许向获得软件的人提供这样做,前提是遵守以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,没有任何形式的保证,无论是明示的、暗示的还是法律的,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者都不应对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是基于合同、侵权或其他方式产生,无论是否与软件或其使用或其他方式有关。