Awesome
Laravel 5 compatible package
Laravel version | Package version |
---|---|
~4.2 | ~1.2 |
~5.1 | ~2.1 |
Laravel-Forecast
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.
Installation
$ 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"
Usage
Base usage
<?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')
Setting global options for every request
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.
Alternative method: dependency injection
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);
}