@snake2
Сразу пишу legacy код

Как создать определенное количество объектов?

Допустим есть 2 класса
class Apple
{
}

class Orange
{
}


Как лучше всего создать 10 экземпляров класса Apple и 20 экземпляров класса Orange, не используя циклы и что то типа:
new Apple()
new Apple()
new Apple()
new Apple()

Может есть какой-нибудь паттерн?
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега PHP
♬♬
Как-то подделать цикл, скажем, массивами?
$length = 10;
array_map(fn() => new Apple(), array_fill(0, $length, NULL));


Ну и оформить ненастоящей фабрикой
function makeMany(string $className, int $quantity)
{
    return array_map(fn() => new $className(), array_fill(0, $quantity, NULL));
}

// использование
makeMany("Apple", 10);
makeMany("Orange", 20);

// или
makeMany(Apple::class, 10);
makeMany(Orange::class, 20);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@gazievDima
Паттерн Фабрика, почитай про него.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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