j-crowe/open-weather

A very simple wrapper for Open Weather

v1.2.0 2016-03-15 12:36 UTC

This package is auto-updated.

Last update: 2024-12-06 03:02:23 UTC


README

Build Status

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.