j-crowe / open-weather
A very simple wrapper for Open Weather
Installs: 17 496
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 6
Open Issues: 0
Requires
- php: >=5.3.0
- guzzlehttp/guzzle: ~5.0
- illuminate/support: >=4.0
Requires (Dev)
- mockery/mockery: dev-master
- phpunit/phpunit: 4.3.*
README
PHP Wrapper for the Open Weather API
This library does not require Laravel; however, a Laravel Service Provider is included.
Installation
Install using composer:
"require": {
"j-crowe/open-weather": "1.2"
}
or via CLI
composer require j-crowe/open-weather 1.2
Configuration
There are 3 required configurations:
First, the app_id - an environment variable named 'OPENWEATHER_APPID' that must be set in your application
Please see here to get one
The other two - the Base URL and Default Guzzle Options.
Please see here for possible options
Usage Without Laravel
See below for sample initialization code:
<?php
include_once 'vendor/autoload.php';
use JCrowe\OpenWeather\OpenWeather;
// Note the configs that are required. Guzzle Opts are default options for Guzzle
$baseUrl = 'http://api.openweathermap.org';
$guzzleOpts = array(
'timeout' => 3,
'connect_timeout' => 3
);
$appId = 'abcdefghijklmnop1234567890';
$openWeather = OpenWeather::getInstance($guzzleOpts, $baseUrl, $appId);
$response = $openWeather->getByCityName('los angeles');
if($response->isValid()) {
print_r($response->getWeatherData());
}
?>
Usage With Laravel
In config/app.php
, add the following to the service providers array.
array(
...
'JCrowe\OpenWeather\Providers\OpenWeatherServiceProvider',
)
Then add the following to the aliases array.
'OpenWeather' => 'JCrowe\OpenWeather\Facades\OpenWeather'
Publish the configs using php artisan config:publish j-crowe/open-weather
, which should include the default configuration, which should include the default configuration.