Для нужд формы сделал простую коллекцию вида
class Collection implements \ArrayAccess, \Countable, \Iterator
В ней реализовал все нужные методы.
Возникла задача сделать пересортировку этой коллекции в соответствии с условием. Как сделать я знаю, не знаю где сделать.
Есть идея добавить метод sortBySomeRuleHere() в унаследованном классе Items. Хорошей она не кажется потому что не единая ответственность.
Можно по-другому: сделать отдельный класс со своей сортировкой, только нельзя будет пересортировать именно эту коллекцию, получится разве что сохранить результат в другой класс.
public function getIterator()
{
return new \ArrayIterator($this->items);
}
Возможно я просто перемудрил и можно просто добавить нужные методы сортировки.