Clase PHP 5, de programación orientada a objetos, que nos permite colocar el API Google Weather en nuestra web para mostrar información del tiempo de una ciudad determinada.
Esta clase te puede mostrar la temperatura, humedad y viento de una determinada ciudad para el día actual y los próximos días.
Una vez que sabemos exactamente lo que hace dicha clase, vamos a ver como aplicarla a nuestra web.
Para ello lo primero que tenemos que hacer es bajarnos la clase de PHPClasses. Una vez que hemos descargado el archivo .php y el .css, así como las dos imágenes que hay, podemos empezar a ver como implementarlo en nuestra web.
Lo primero que vamos a hacer es subir dichos archivos a nuestra web. Una vez que los tenemos subidos empezamos a crear nuestro archivo de ejemplo.
1. Edición del archivo class.google.weather.php
Tenemos que editar este archivo para adaptarlo a nuestras necesidades. Si os fijáis en el código vemos que hay un array con las ciudades que vamos a poder seleccionar para ver su tiempo. Bien pues este array tenemos que editarlo y poner las ciudades que queremos mostrar. Una vez editado este código quedaría algo así:
....
class googleWeather{
var $cities = array("Madrid", "Cordoba", "Sevilla", "Barcelona", "Toledo", "Tenerife");
var $xml;
var $selectedCity;
....
Ahora pasamos a crear nuestro archivo principal.
2.- Creación de un archivo .php
En dicho archivo lo primero que hacemos el colocar un enlace a la hoja de estilos y un include hacia el archivo que contiene la clase weather.
<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
<?php
include("class.google.weather.php");
Una vez que tenemos esto continuamos inicializando la clase y seleccionando la ciudad por defecto que queremos que aparezca.
$selectedCity = (isset($_POST["city"]) && $_POST["city"] != "")?$_POST["city"]:"Madrid";
$googleWeather = new googleweather($selectedCity);
?>
Ahora ya sólo nos queda mostrar el recuadro con la previsión del tiempo obtenida. Para ello vamos a crear un formulario con un campo select para poder ver los tiempos de las diferentes ciudades introducidas en el array, y para finalizar mostramos el tiempo de la ciudad seleccionada, mediante las funciones getWeatherInfo() y display_weather().
El código completo de esta parte sería el siguiente:
<form method="post" name="weather">
<select name="city" onChange="weather.submit();">
<?php
foreach($googleWeather->cities as $city){
?>
<option value="<?php echo $city;?>" <?php echo ($selectedCity == $city)?"selected":"";?>><?php echo $city;?></option>
<?php
}
?>
</select>
</form>
<?php
$googleWeather->getWeatherInfo();
$googleWeather->display_weather();
?>
Con esto tendríamos nuestra clase funcionando. Para que nos quede más claro paso a poner el código completo del archivo principal.
<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
<?php
include("class.google.weather.php");
$selectedCity = (isset($_POST["city"]) && $_POST["city"] != "")?$_POST["city"]:"Madrid";
$googleWeather = new googleweather($selectedCity);
?>
<form method="post" name="weather">
<select name="city" onChange="weather.submit();">
<?php
foreach($googleWeather->cities as $city){
?>
<option value="<?php echo $city;?>" <?php echo ($selectedCity == $city)?"selected":"";?>><?php echo $city;?></option>
<?php
}
?>
</select>
</form>
<?php
$googleWeather->getWeatherInfo();
$googleWeather->display_weather();
?>