rjvandoesburg/laravel-apixu-client

一个用于与Apixu API交互的Laravel包

1.0.0 2017-05-19 08:25 UTC

This package is auto-updated.

Last update: 2024-09-08 06:52:30 UTC


README

此包添加了一个外观类和可依赖注入的类,您可以使用它们轻松调用API

安装

您可以通过composer安装此包

composer require rjvandoesburg/laravel-apixu-client

您必须安装以下服务提供者

// config/app.php

'providers' => [
    ...
    Rjvandoesburg\Apixu\ApixuServiceProvider::class,
    ...
];

此包需要一个API密钥,该密钥可以存储在.env文件中。您可以从这里获取密钥: https://www.apixu.com/ 以下设置可用于您的.env文件

APIXU_KEY={your-key-here}
APIXU_URL=https://api.apixu.com/v1
APIXU_CACHE_LENGTH=30

缓存长度是指新数据从服务器获取之前的时间长度,这是因为您可能想限制API调用

这些设置是在一个您可以自行编辑的配置文件中设置的。执行以下命令以获取配置文件

php artisan vendor:publish --provider="Rjvandoesburg\Apixu\ApixuServiceProvider"

将在配置目录中创建一个名为apixu.php的文件。

用法

API有4个端点

每个请求都需要某些参数,更多信息请参阅这里

要构建过滤器,您需要使用FiltersClass,API可设置的所有参数都定义为属性。要使用外观类获取当前天气,请使用以下代码

$filters = new \Rjvandoesburg\Apixu\Filters([
    'q' => 'London',
]);
$response = \Apixu::current($filters);

这将返回一个包含所有返回属性的CurrentResponse。您可以使用此响应轻松输出结果。

可用的方法有

\Apixu::current($filters);
\Apixu::forecast($filters);
\Apixu::history($filters);
\Apixu::search($filters);

或使用依赖注入方法

public function getWeather(\Rjvandoesburg\Apixu\ApixuClient $apixu)
{
    $filters = new \Rjvandoesburg\Apixu\Filters([
        'q' => 'London',
    ]);
    
    return $apixu->current($filters)
}

致谢

许可

MIT许可(MIT)。请参阅许可文件获取更多信息。