Pregunta

Mi página de inicio contiene clima para tres ciudades de todo el mundo como se muestra en la imagen

index.php

En la página de inicio, declaro 3 variables que almacenan la URL RSS para cada ciudad

$newYorkWeatherSource = 'http://weather.yahooapis.com/forecastrss?p=USNY0996&u=f';
$londonWeatherSource = 'http://weather.yahooapis.com/forecastrss?p=UKXX0085&u=c';
$parisWeatherSource = 'http://weather.yahooapis.com/forecastrss?p=FRXX0076&u=c';

Saco etiquetas idénticas de las tres URL que se muestran anteriormente y uso 3 funciones idénticas aparte de la variable que se le pasó a ella.

A continuación muestra la variable que se está pasando a la función. Obviamente, se usan otras funciones antes de que se pueda devolver $ Weather.

function new_york_current_weather($newYorkWeatherSource) {

// Get XML data from source
if (isset($newYorkWeatherSource)) {
    $feed = file_get_contents($newYorkWeatherSource);
} else {
    echo 'Feed not found.  Check URL';
}

checkWeatherFeedExists($feed);
$xml = new SimpleXmlElement($feed);

$weather = get_dateTime($xml);
$weather = get_temperature_and_convert($xml);
$weather = get_conditions($xml);
$weather = get_icon($xml);

return $weather;
}

Como mencioné, repetiro esta función 3 veces solo reemplazar la variable $ NewyorkWeatherSource que se pasa en el ejemplo anterior. ¿Alguna idea de cómo podría reutilizar esta función 3 veces pero aún así pasar una URL diferente para mantener mi página de inicio mostrando el clima de las 3 ciudades? Por supuesto, es fácil reutilizar la función si cada ciudad estaba representada en páginas individuales, pero el propósito es mantenerlos unidos para comparar.

¿Algunas ideas?

Gracias por adelantado.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top