@ganjo888

Правильно ли я использую Декоратор в php?

interface Output
{
    public function getLinks($images);

}

class LinksOutput implements Output
{
    public function getLinks($images)
    {
        uasort($images, function ($a, $b) {
            return $a['width'] > $b['width'] ? 1 : -1;
        });
        $result = '';
        foreach ($images as $val) {

            $result .= "<pre>" . $val['link'] . "<br> Ширина " . $val['width'] . "<br>";
        }
        return $result;
    }

}

class  RedactOutput implements Output
{

    protected $link;

    public function __construct(Output $link)
    {
        $this->link = $link;
    }

    public function getLinks($images)
    {
        return '<strong>' . $this->link->getLinks($images) . '</strong>';
    }

}

Скажите что нужно поправить и как лучше сделать.
  • Вопрос задан
  • 630 просмотров
Решения вопроса 1
@ivorobioff
Software Engineer
все выглядит правильно

разве что $this->link можно переименовать на $this->output а то как-то конкретно говоришь что там именно LinksOutput должен быть хотя по типу аргумента понятно что это не так
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Хабр Москва
от 150 000 руб.
HORIBA Москва
от 140 000 руб.
WEBINAR Москва
от 190 000 руб.
12 дек. 2019, в 23:19
10000 руб./за проект
12 дек. 2019, в 23:04
500000 руб./за проект
12 дек. 2019, в 22:52
1000 руб./за проект