Обычный способ заставить объект вести себя как массив — это расширить ArrayObject. Однако мой класс уже расширяет другой класс, поэтому я хотел бы переопределить ArrayObject (вероятно, путем композиции вместо наследования).
В руководстве говорится, что ArrayObject реализует IteratorAggregate, ArrayAccess, Serializable и Countable. Позволит ли реализация тех же интерфейсов использовать мой класс как массив при любых обстоятельствах? Если нет, то какое еще поведение должен реализовать мой класс?
Подробнее здесь: https://stackoverflow.com/questions/786 ... rrayobject