/Laravel-forecast

Laravel-forecast provides a service provider and a facade arround the Forecast-php wrapper.

Primary LanguagePHPOtherNOASSERTION

Latest Version Software License SensioLabs Insight Quality Score Total Downloads

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);
}