Laravel-forecast provides a service provider and a facade around the Forecast-php wrapper
nwidart/laravel-forecast is a Laravel package for laravel-forecast provides a service provider and a facade around the forecast-php wrapper.
It currently has 2 GitHub stars and 4.921 downloads on Packagist (latest version 2.1).
Install it with composer require nwidart/laravel-forecast.
Discover more Laravel packages by nwidart
or browse all Laravel packages to compare alternatives.
Last updated
Laravel 5 compatible package
| Laravel version | Package version | | ---------------- | --------------- | | ~4.2 | ~1.2 | | ~5.1 | ~2.1 |
Laravel-forecast provides a service provider and a facade around the Forecast-php wrapper.
Want to use this as a standalone package ? Checkout the Forecast-php API wrapper.
$ composer require nwidart/laravel-forecast
Add the service provider in app/config/app.php
'providers' => [
...
Nwidart\LaravelForecast\LaravelForecastServiceProvider::class
]
Add the Alias provider in app/config/app.php
'aliases' => [
...
'Forecast' => Nwidart\LaravelForecast\ForecastFacade::class,
]
Publish the configuration file and add your forecast API key
$ php artisan vendor:publish --provider="Nwidart\LaravelForecast\LaravelForecastServiceProvider"
<?php
Forecast::get('37.8267','-122.423');
// Get the forecast at a given time
Forecast::get(('37.8267','-122.423', '2013-05-06T12:00:00-0400')
In the settings you can add global options that will have used on every request made to Forecast.io. You can add this in the options key of the settings file.
For instance if you want temperature in Celsius:
'options' => [
'units' => 'si',
],
For more details and all available options check the official documentation.
You can also inject the Nwidart\ForecastPhp\Forecast class into your constructor.
/**
* @var \Nwidart\ForecastPhp\Forecast
*/
private $forecast;
public function __construct(\Nwidart\ForecastPhp\Forecast $forecast)
{
$this->forecast = $forecast;
}
public function doSomething()
{
$weather = $this->forecast->get($lat, $lon);
}