edsh / vereinsflieger-sdk-php

vereinsflieger.de REST API 的 PHP 封装

dev-master 2018-10-29 10:26 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:56:03 UTC


README

这个库为使用 vereinsflieger.de 的 REST API 提供了功能。

安装

安装过程与常规一样,使用 Composer 完成。

composer require edsh/vereinsflieger-sdk-php

使用方法

示例 1:执行导出 CSV 以导入 AME Avia 飞行任务

<?php
declare(strict_types = 1);

use \LuftsportvereinBacknangHeiningen\VereinsfliegerDeSdk\Infrastructure\ApiClient;
use \LuftsportvereinBacknangHeiningen\VereinsfliegerDeSdk\Infrastructure\RemoteAuthenticatedAccessToken;
use \LuftsportvereinBacknangHeiningen\VereinsfliegerDeSdk\Infrastructure\DefaultCredentials;
use \LuftsportvereinBacknangHeiningen\VereinsfliegerDeSdk\Infrastructure\RemoteAccessToken;
use \LuftsportvereinBacknangHeiningen\VereinsfliegerDeSdk\Application\Flight\FlightApiService;
use \LuftsportvereinBacknangHeiningen\VereinsfliegerDeSdk\Port\Adapter\Service\AmeAviaFlightDataCsvAdapter;

$apiClient = new ApiClient();

$accessToken =
    new RemoteAuthenticatedAccessToken(
        $apiClient,
        new DefaultCredentials(getenv('VF_USERNAME'), getenv('VF_PASSWORD')),
        new RemoteAccessToken($apiClient)
    );

$queryService =
    new FlightApiService($apiClient, $accessToken);
$flightsToday =
    $queryService
        ->allFlightsDataOfDay(
            \DateTimeImmutable::createFromFormat(
                'Y-m-d',
                $input->getArgument('date')
            )
        );
foreach ($flightsToday as $flightData) {
    $csv =
        new EdshAmeFlightDataCsvAdapter(
            new AmeAviaFlightDataCsvAdapter($flightData)
        );
    $output->writeln((string) $csv);
}