@hulktoster

Почему ошибка когда «окутываю» функцию классом?

Есть вот такая функция которая отображает погоду в конкретном городе у меня на странице:

<?php
function getWeather($city)
{
    $response = file_get_contents('http://api.openweathermap.org/data/2.5/weather?q='.$city.',uk&appid=32ae008b1c7259324aa50450687fabf5&units=metric');
    $jsn = json_decode($response);
    
    echo $jsn->main->temp; 
    echo '<br>'; 
    echo $jsn->main->pressure; 
    echo '<br>'; 
    echo $city; 
    
}

getWeather('London');
   
?>

Мне нужно чтобы она была внутри класса и я написал вот так:

<?php

class WeatherPage {
  
public function getWeather($city)
{
    $response = file_get_contents('http://api.openweathermap.org/data/2.5/weather?q='.$city.',uk&appid=32ae008b1c7259324aa50450687fabf5&units=metric');
    $jsn = json_decode($response);
    
    echo $jsn->main->temp; 
    echo '<br>'; 
    echo $jsn->main->pressure; 
    echo '<br>'; 
    echo $city; 
    
}

getWeather('London');
    
}
?>


И у меня ошибка:

Parse error: syntax error, unexpected 'getWeather' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in D:\OSPanel\domains\test\index.php on line 23


Почему так? И как исправить ошибку?
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
motokraft
@motokraft
Кратко о себе
class WeatherPage
{
	public function getWeather($city)
	{
		$response = file_get_contents('http://api.openweathermap.org/data/2.5/weather?q='.$city.',uk&appid=32ae008b1c7259324aa50450687fabf5&units=metric');
		$jsn = json_decode($response);
    
		echo $jsn->main->temp; 
		echo '<br>'; 
		echo $jsn->main->pressure; 
		echo '<br>'; 
		echo $city; 
    
	}    
}

$class = new WeatherPage();
$class->getWeather('London');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@xenonhammer
Чтобы использовать методы класса, нужно сначала создать экземпляр класса, т.е. объект, а затем использовать методы для этого объекта, которые вы определили в классе
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы