ballen/metar

一个用于查询机场METAR信息的PHP库。

3.0.5 2023-04-05 13:56 UTC

This package is auto-updated.

Last update: 2024-09-05 22:57:40 UTC


README

Build Code Coverage Scrutinizer Code Quality Code Climate Latest Stable Version Latest Unstable Version License

一个用于查询机场METAR信息的PHP库,该库直接从美国国家海洋和大气管理局(NOAA)查询真实世界的METAR数据,可选地支持VATSIM或IVAO。

此库默认配置为NOAA,如果您决定将提供者更改为VATSIM或IVAO,您不应该使用它来生成真实世界的METAR报告。

需求

  • PHP >= 7.3.0
  • cURL

此库针对PHP 7.3, 7.4, 8.0, 8.1和8.2进行了单元测试!

如果您需要使用较老的PHP版本,您应该安装此库的2.x版本(以下为详细信息)。

许可证

此客户端库在GPLv3许可证下发布,您可以使用它,改进它并将您的更改贡献回来!

安装

推荐通过Composer安装此库;使用Composer安装,请在控制台输入以下命令

composer require ballen/metar

如果您需要使用较老的PHP版本,2.x.x版本支持PHP 5.6, 7.0, 7.1和7.2,您可以使用Composer使用以下命令安装此版本

composer require ballen/metar ^2.0

示例用法

use Ballen\Metar\Metar;

/**
 * Using the default options, the report will be retrieved from the NOAA web service.
 */
$egss = new Metar('EGSS');
echo sprintf('The METAR report for Stansted (EGSS) is: %s', $egss);

/**
 * Alternatively, Flight simulation enthusiasts may wish to retrieve the current VATSIM reports,
 * this can be achieved by changing the default provider like so: 
 */
$egss->setProvider(Ballen\Metar\Providers\Vatsim::class);

/**
* Since version 2.1.0, users can now query the IVAO web service for METARs too by using the 'IVAO' provider method like so:
*/
$egss->setProvider(Ballen\Metar\Providers\Ivao::class);

测试和覆盖率

此库完全使用PHPUnit进行单元测试。

我使用GitHub Actions进行持续集成,每次提交都会触发PHP 7.3, 7.4, 8.0, 8.1和8.2的测试。

如果您希望自行运行测试,应执行以下操作

# Install the Metar Library (which will include PHPUnit as part of the require-dev dependencies)
composer install

# Now we run the unit tests (from the root of the project) like so:
./vendor/bin/phpunit

还可以运行代码覆盖率,并生成报告(这需要安装XDebug)...

./vendor/bin/phpunit --coverage-html ./report

支持

我很乐意通过我的个人电子邮件地址提供支持,所以如果您需要帮助,请给我发送电子邮件: ballen@bobbyallen.me