Overview

Packages

  • Service
    • Weather

Classes

  • Horde_Service_Weather
  • Horde_Service_Weather_Base
  • Horde_Service_Weather_Current_Base
  • Horde_Service_Weather_Current_Google
  • Horde_Service_Weather_Current_WeatherUnderground
  • Horde_Service_Weather_Current_Wwo
  • Horde_Service_Weather_Exception
  • Horde_Service_Weather_Exception_InvalidProperty
  • Horde_Service_Weather_Forecast_Base
  • Horde_Service_Weather_Forecast_Google
  • Horde_Service_Weather_Forecast_WeatherUnderground
  • Horde_Service_Weather_Forecast_Wwo
  • Horde_Service_Weather_Google
  • Horde_Service_Weather_Period_Base
  • Horde_Service_Weather_Period_Google
  • Horde_Service_Weather_Period_WeatherUnderground
  • Horde_Service_Weather_Period_Wwo
  • Horde_Service_Weather_Station
  • Horde_Service_Weather_Translation
  • Horde_Service_Weather_WeatherUnderground
  • Horde_Service_Weather_Wwo
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * This file contains the Horde_Service_Weather_Period_Base class for
 4:  * abstracting access to a single forecast period.
 5:  *
 6:  * Copyright 2011-2012 Horde LLC (http://www.horde.org/)
 7:  *
 8:  * @author   Michael J Rubinsky <mrubinsk@horde.org>
 9:  * @license  http://www.horde.org/licenses/bsd BSD
10:  * @category Horde
11:  * @package  Service_Weather
12:  */
13: 
14: /**
15:  * Horde_Service_Weather_Period_Base class
16:  *
17:  * @property is_pm                  Indicates if this is for an evening period.
18:  * @property hour                   Indicates if this is for an hourly period.
19:  * @property precipitation_percent  Change of precipitation percent.
20:  * @property period                 The cardinal number of this period.
21:  * @property humidity               Humidity percent.
22:  * @property wind_speed             Wind speed, in currently configured units.
23:  * @property wind_direction         Cardinal wind direction e.g., NNW.
24:  * @property wind_degrees           Wind direction, in degrees.
25:  * @property wind_gust              Wind gust speed, in currently configured units.
26:  * @property snow_total             Daily snow totals, in configured units.
27:  * @property rain_total             Daily rain totals, in configured units.
28:  * @property conditions             Forecast conditions e.g., "Sunny".
29:  * @property icon_url               Url to a condition icon.
30:  * @property icon                   Name of condition icon.
31:  * @property date                   Date for this period.
32:  * @property high                   Forecast high temp, in configured units.
33:  * @property low                    Forecast low temp, in configured units.
34:  *
35:  * @author   Michael J Rubinsky <mrubinsk@horde.org>
36:  * @category Horde
37:  * @package  Service_Weather
38:  */
39: class Horde_Service_Weather_Period_Base
40: {
41:     /**
42:      * Properties for this single peridd, as returned from the forecast request.
43:      *
44:      * @var mixed
45:      */
46:     protected $_properties;
47: 
48:     /**
49:      * Reference to parent forecast object.
50:      *
51:      * @var Horde_Service_Weather_Forecast_Base;
52:      */
53:     protected $_forecast;
54: 
55:     /**
56:      * Const'r
57:      *
58:      * @param mixed $properties                      Current properties.
59:      * @param Horde_Service_Forecast_Base $forecast  The parent forecast.
60:      *
61:      * @return Horde_Service_Weather_Current
62:      */
63:     public function __construct($properties, Horde_Service_Weather_Forecast_Base $forecast)
64:     {
65:         $this->_forecast = $forecast;
66:         $this->_properties = $properties;
67:     }
68: 
69:     /**
70:      * Default implementation - just return the value set.
71:      *
72:      * @param string $property  The requested property.
73:      *
74:      * @return mixed  The property value.
75:      * @throws  Horde_Service_Weather_Exception_InvalidProperty
76:      */
77:     public function __get($property)
78:     {
79:         if (isset($this->_properties[$property])) {
80:             return $this->_properties[$property];
81:         }
82: 
83:         throw new Horde_Service_Weather_Exception_InvalidProperty('This provider does not support that property');
84:     }
85: 
86:  }
API documentation generated by ApiGen