Почти. Уровни доступа нужно проставить, иначе заругается.
class Media
{
public function get_photo($obj)
{
$r["download_url"] = $obj->display_url;
$r["dimensions_h"] = $obj->height;
$r["dimensions_w"] = $obj->width;
return $r;
}
public function get_video($obj)
{
$r["download_url"] = $obj->video_url;
$r["dimensions_h"] = $obj->height;
$r["dimensions_w"] = $obj->width;
return $r;
}
}
Пока особого профита не видно, однако если писать красивый код, то нужно каждый класс разместить в отдельном файле. Это залог структурного кода, так называемой декомпозиции. Плюс автозагрузка. Но это потом, пусть пока все в одном файле.
А вот кое что сразу можно сделать. У тебя сейчас $оbj передается в функцию аргументом снаружи. Если оставить так, как было, что внизу твоей портянки совсем не понятно, откуда он появился. Это нечитабельный код. А раз теперь есть структура, то можно собрать весь причастный функционал в одном месте. Это уже называется "назначить ответственность". Класс Media теперь
отвечает за получение и распределение данных (не знаю откуда).
Вот так пока:
class Media
{
protected $obj;
public function __construct($url)
{
$file = @file_get_contents($url);
$this->obj = json_decode($file);
}
public function get_photo()
{
$r["download_url"] = $this->obj->display_url;
$r["dimensions_h"] = $this->obj->height;
$r["dimensions_w"] = $this->obj->width;
return $r;
}
public function get_video()
{
$r["download_url"] = $this->obj->video_url;
$r["dimensions_h"] = $this->obj->height;
$r["dimensions_w"] = $this->obj->width;
return $r;
}
}
И это только начало. :) Задавай вопросы.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.