@gog69

Как хранить массивы обьектов в свойстве другого обьекта?

к примеру есть

class Path
{
$name
$href
}

и есть класс

class Product
{
private $someProperty
private $someProperty2
}

где someProperty массив классов Path
а someProperty2 тоже массив но уже других классов

использовать array как-то мне кажется не очень
может есть какой-то более умный класс коллекции который можно будет использовать для таких случаев?
  • Вопрос задан
  • 151 просмотр
Решения вопроса 2
27cm
@27cm
TODO: Написать статус
использовать array как-то мне кажется не очень
может есть какой-то более умный класс

Класс то есть (ArrayIterator), только зачем он тут? Чтобы умнее казаться?

Вполне достаточно обычного array.
Ответ написан
Комментировать
@smple
я обычно использую array для хранения, а в class Product указываю анотации что я там храню
например
class Product
{
/**
 * @var Path[]
 */
private $someProperty
/**
 * @var AnotherClass[]
 */
private $someProperty2
}

тогда имею в ide автокомлит например внутри циклов

Также для хренения коллекций есть SPL php.net/manual/ru/book.spl.php соответственно можно выбрать структуру данных и раньше даже было преимущество в скорости но сейчас бенчмарков нет и сказать наперед сложно, и проблема с автокомлитом в ide будет так как нет поддержки generic.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы