2017 © Pedro Peláez
 

library weather

Canducci Weather

image

canducci/weather

Canducci Weather

  • Sunday, December 20, 2015
  • by netdragoon
  • Repository
  • 1 Watchers
  • 0 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Weather

Previsão do Tempo

Canducci Weather, (*1)

Build Status Packagist Packagist Packagist, (*2)

Instalação

Configurações

Para aplicações Laravel, configure dessa maneira:, (*3)

Adicione em seu composer.json essa chave:, (*4)

"canducci/weather": "0.1.*"

Agora execute esse comando no seu console:, (*5)

$ composer update

Abra o arquivo config/app.php e adicione essa linha em suas configurações de providers:, (*6)

Canducci\Weather\Providers\WeatherServiceProvider::class

Para funcionar o apelido (facade) adicione essa linha em suas configurações de aliases:, (*7)

'Weather'   => Canducci\Weather\Facades\Weather::class

Pronto agora é só utilizar na sua aplicação Laravel 5.*., (*8)

Como utilizar no Laravel

Buscas de Cidades:

Utilizando a função cities para trazer as cidades mediante a informação pela sua descrição:, (*9)

$items = cities('Sao Paulo');
return $items->getJson();

Nesse return de um anotação Javascript terá o seguinte resultado:, (*10)

[
    {
        "Id": 244,
        "Name": "S\u00e3o Paulo",
        "Uf": "SP"
    },
    {
        "Id": 5019,
        "Name": "S\u00e3o Paulo das Miss\u00f5es",
        "Uf": "RS"
    },
    {
        "Id": 5020,
        "Name": "S\u00e3o Paulo de Oliven\u00e7a",
        "Uf": "AM"
    },
    {
        "Id": 5021,
        "Name": "S\u00e3o Paulo do Potengi",
        "Uf": "RN"
    }
]

Essas cidades encontradas tem um Id que é o responsável em buscar a previsão do tempo pelo outro função, ou seja, São Paulo tem o Id = 244, então:, (*11)

$item = forecast(244);
return $item->getJson();

Ele retornar esse modelo na anotação Javascript:, (*12)

{
    "Id": 244,
    "City": "S\u00e3o Paulo",
    "Uf": "SP",
    "Update": {
        "Short": "16\/11\/2015",
        "Date": {
            "date": "2015-11-16 23:00:41.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        }
    },
    "Dates": [
        {
            "Date": {
                "Short": "17\/11\/2015",
                "Date": {
                    "date": "2015-11-17 23:00:41.000000",
                    "timezone_type": 3,
                    "timezone": "UTC"
                }
            },
            "Iuv": 13,
            "Min": 16,
            "Max": 26,
            "Time": {
                "Sigla": "ci",
                "Description": "Chuvas Isoladas"
            }
        },
        {
            "Date": {
                "Short": "18\/11\/2015",
                "Date": {
                    "date": "2015-11-18 23:00:42.000000",
                    "timezone_type": 3,
                    "timezone": "UTC"
                }
            },
            "Iuv": 13,
            "Min": 20,
            "Max": 29,
            "Time": {
                "Sigla": "pnt",
                "Description": "Pancadas de Chuva a Noite"
            }
        },
        {
            "Date": {
                "Short": "19\/11\/2015",
                "Date": {
                    "date": "2015-11-19 23:00:42.000000",
                    "timezone_type": 3,
                    "timezone": "UTC"
                }
            },
            "Iuv": 13,
            "Min": 20,
            "Max": 31,
            "Time": {
                "Sigla": "pt",
                "Description": "Pancadas de Chuva a Tarde"
            }
        },
        {
            "Date": {
                "Short": "20\/11\/2015",
                "Date": {
                    "date": "2015-11-20 23:00:42.000000",
                    "timezone_type": 3,
                    "timezone": "UTC"
                }
            },
            "Iuv": 13,
            "Min": 20,
            "Max": 30,
            "Time": {
                "Sigla": "pc",
                "Description": "Pancadas de Chuva"
            }
        }
    ]
}   

Também pode utilizado via facade (apelidos) dessa forma:, (*13)

namespace:, (*14)

use Canducci\Weather\Facades\Weather;
use Canducci\Weather\ForecastDay;

código:, (*15)

Weather::cities('Sao Paulo'); 
Weather::forecast(244); //4 datas de previsão (padrão)
Weather::forecast(244, ForecastDay::Day4); //4 datas de previsão
Weather::forecast(244, ForecastDay::Day7); //7 datas de previsão

A Weather::cities('Sao Paulo') retorna uma coleção de cidades com o seguinte layout:, (*16)

código:, (*17)

$items = Weather::cities('Sao Paulo');
foreach ($items as $key => $value) 
{
    echo sprintf('<p>%s %s %s</p>',
            $value->getId(), 
            $value->getName(), 
            $value->getUf());
}

resultado:, (*18)

244 São Paulo SP
5019 São Paulo das Missões RS
5020 São Paulo de Olivença AM
5021 São Paulo do Potengi RN

O Weather::forecast(244, ForecastDay::Day4) vai retornar a previsão do tempo conforme foi solicitado:, (*19)

código:, (*20)

$item = Weather::forecast(244, ForecastDay::Day4);    

//Dados da cidades
echo sprintf('

Id: %s, (*21)

Cidade: %s, (*22)

Uf: %s, (*23)

<p>Data última atualização: %s</p>', $item->getId(), $item->getCity(), $item->getUf(), $item->getUpdated()->format('d/m/Y')); //Dados da previsões foreach ($item->getDates() as $key => $value) { echo sprintf('

Data: %s, (*24)

IUV: %s, (*25)

Minima: %s, (*26)

<p>Maxima: %s</p><p>Status: %s - %s</p>', $value->getDate()->format('d/m/Y'), $value->getIuv(), $value->getMin(), $value->getMax(), $value->getTime()->getSigla(), $value->getTime()->getDescription()); }

resultado:, (*27)

Dados da cidades

Id: 244

Cidade: São Paulo

Uf: SP

Data última atualização: 16/11/2015

Dados da previsões

Data: 17/11/2015

IUV: 13

Minima: 16

Maxima: 26

Status: ci - Chuvas Isoladas


Data: 18/11/2015

IUV: 13

Minima: 20

Maxima: 29

Status: pnt - Pancadas de Chuva a Noite


Data: 19/11/2015

IUV: 13

Minima: 20

Maxima: 31

Status: pt - Pancadas de Chuva a Tarde


Data: 20/11/2015

IUV: 13

Minima: 20

Maxima: 30

Status: pc - Pancadas de Chuva

Como utilizar sem Frameworks.

O pacote funciona normalmente fora do Laravel, ou seja, independente de frameworks. Para instalar crie um composer.json dessa forma:, (*28)

{    
    "require": {    
        "canducci/weather":"0.1.*"       
    }
}

Rode o procedimento de instalação $ composer update e após a instalação crie um arquivo index.php (ou qualquer de sua preferencia) e adicione o autoload.php da pasta vendor (require 'vendor/autoload.php';)., (*29)

Para usar faça:, (*30)

$weather = new Canducci\Weather\Weather(new Canducci\Weather\WeatherClient());

//busca de cidades
echo $weather->cities('Sao Paulo')->getJson();
//busca da previsão do tempo
echo $weather->forecast(244)->getJson();

Código completo, (*31)

<?php
    require 'vendor/autoload.php';

    $weather = new Canducci\Weather\Weather(new Canducci\Weather\WeatherClient());

    //busca de cidades
    echo $weather->cities('Sao Paulo')->getJson();
    //busca da previsão do tempo
    echo $weather->forecast(244)->getJson();

The Versions

20/12 2015

dev-master

9999999-dev https://github.com/netdragoon/weather

Canducci Weather

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar netdragoon

brazil brasil weather canducci previsao

17/11 2015

v0.1.0

0.1.0.0 https://github.com/netdragoon/weather

Canducci Weather

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar netdragoon

brazil brasil weather canducci previsao