Назад к задачам
Middle — Senior
18

Обнаружьте архитектурные недочёты в представленном коде

Компании, где спрашивали:

Searchanise
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Проанализируйте указанный фрагмент, выявите архитектурные проблемы и предложите пути их устранения.

class BlogPost
{
    private Author $author;
    private string $title;
    private string $content;
    private \DateTime $date;

    // ..

    public function getData(): array
    {
        return ;
    }

    public function printJson(): string
    {
        return json_encode($this->getData());
    }

    public function printHtml(): string
    {
        return "<article>
            <h1>{$this->title}</h1>
            <article>
                <p>{$this->date->format('Y-m-d H:i:s')}</p>
                <p>{$this->author->fullName()}</p>
                <p>{$this->content}</p>
            </article>
        </article>";
    }
}