Что такое Prototype?

Ответ

Создание новых объектов через клонирование существующего (прототипа), а не через конструктор.

class Document implements Cloneable {
    public function __clone() {
        $this->sections = array_map(fn($s) => clone $s, $this->sections);
    }
}
$doc2 = clone $doc1;

Полезно когда создание объекта дорого (сложная инициализация, запросы к БД) или когда нужно копировать с небольшими изменениями.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.