Skip to content

lukerenfrew/open-weather

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenWeather PHP Wrapper

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%