ndolestudio/darksky-php

Dark Sky 天气 API 的 PHP 封装器

1.0.0 2018-10-09 09:45 UTC

This package is auto-updated.

Last update: 2024-09-09 22:18:26 UTC


README

这是一个为官方 Dark Sky API 提供的 PHP 封装器,可在 https://darksky.net/dev/docs 找到

Latest Stable Version Build Status Packagist GitHub license

入门指南

以下说明将指导您如何安装和使用此包,以使用 Dark Sky API 获取天气信息。

先决条件

此包与 PHP 7 兼容。因此,您的 PHP 版本必须大于 7.0 或更高。

安装

可以使用 composer 轻松安装此包。

composer install ndolestudio/darksky-php

示例

创建一个实现 LocationDateTimeInput 接口的面板。此类将用于 DarkSkyApiClient 的输入。

class Request implements \DarkSky\Contracts\LocationDateTimeInput
{
    public function getLatitude(): float
    {
        return 33.22;
    }

    public function getLongitude(): float
    {
        return 24.44;
    }

    public function getDateTime(): DateTime
    {
        return new DateTime('now');
    }
}

使用上面创建的 LocationDateTimeInput 面板,通过 DarkSkyApiClient 获取天气数据。

// Require composer dependencies.
require './vendor/autoload.php';

// Here, we create a DarkSkyApiConfiguration
$apiConfiguration = new \DarkSky\Configurations\DarkSkyApiConfiguration(
    ['daily','currently'], // Excluded blocks
    'https://api.darksky.net/forecast/b95b5555fb5f8e94cf499f4036618e55/', // Api Endpoint
    'si' // Units
);

// Use the configuration to create a DarkSkyApiClient
$darkSkyApiClient = new \DarkSky\Clients\DarkSkyApiClient($apiConfiguration, new \GuzzleHttp\Client());

// Create an instance of the LocationDateTimeInput
$request = new Request();

// This fetches the json response
$jsonResponse = $darkSkyApiClient->fetchWeatherData($request);

运行测试

可以使用 PHPUnit 运行测试。运行测试的步骤如下:

克隆此存储库后,使用 composer 下载依赖项

composer install

上面的步骤将安装 PHPUnit,您可以使用以下命令运行:

./vendor/bin/phpunit

构建工具

  • Guzzle - 可扩展的 PHP HTTP 客户端

贡献

请阅读 CONTRIBUTING.md 以获取有关我们行为准则的详细信息,以及向我们提交拉取请求的过程。

版本控制

我们使用 SemVer 进行版本控制。有关可用版本,请参阅此存储库的 标签

作者

有关参与此项目的 贡献者 列表,请参阅。

许可证

本项目采用 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE.md 文件。