cmfcmf/openweathermap-php-api

A php api to parse weather data from OpenWeatherMap.org. This api tries to normalise and abstract the data and remove inconsistencies.

Installs: 4 891

Dependents: 4

Stars: 82

Watchers: 14

Forks: 28

Open Issues: 3

Language: PHP

v2.0.8 2015-07-14 09:57 UTC

README

A php api to parse weather data from OpenWeatherMap.org. This api tries to normalise and abstract the data and remove inconsistencies.

Build StatusScrutinizer Quality ScoreCode Coverage

SensioLabsInsight

For example code and how to use this api, please take a look into Examples_*.php files and run them in your browser.

  • Examples_Current.php Shows how to receive the current weather.
  • Examples_Forecast.php Shows how to receive weather forecasts.
  • [NEW] Examples_History.php Shows how to receive weather history.
  • Examples_Cache.php Shows how to implement a cache.

Notice: This api is not made by OpenWeatherMap, nor their official php api.

Contribute!

I'm very happy if you open pull requests or issues to help making this API more awesome.

Installation

This library can be found on Packagist. The recommended way to install this is through composer.

Edit your composer.json and add:

{
    "require": {
        "cmfcmf/openweathermap-php-api": "~2.0"
    }
}

And install dependencies:

$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install

Example call

<?php
use Cmfcmf\OpenWeatherMap;
use Cmfcmf\OpenWeatherMap\Exception as OWMException;

// Must point to composer's autoload file.
require('vendor/autoload.php');

// Language of data (try your own language here!):
$lang = 'de';

// Units (can be 'metric' or 'imperial' [default]):
$units = 'metric';

// Get OpenWeatherMap object. Don't use caching (take a look into Example_Cache.php to see how it works).
$owm = new OpenWeatherMap();

try {
    $weather = $owm->getWeather('Berlin', $units, $lang);
} catch(OWMException $e) {
    echo 'OpenWeatherMap exception: ' . $e->getMessage() . ' (Code ' . $e->getCode() . ').';
    echo "<br />\n";
} catch(\Exception $e) {
    echo 'General exception: ' . $e->getMessage() . ' (Code ' . $e->getCode() . ').';
    echo "<br />\n";
}

echo $weather->temperature;

License

MIT — Please see the LICENSE file distributed with this source code for further information regarding copyright and licensing.

Please check out the following links to read about the usage policies and the license of OpenWeatherMap before using the service.