Classificando ArrayCollection de Doutrina

Para classificar um Doctrine ArrayCollection, a classe oferece um método para instanciar um ArrayIterator para classificar elementos usando uma função de fechamento:

// get a new ArrayIterator
$iterator
= $myCollection->getIterator();

// define ordering closure, using preferred comparison method/field
$iterator
->uasort(function ($first, $second) {
return (int) $first->getPosition() > (int) $second->getPosition() ? 1 : -1;
});

// return the ordered iterator
return $iterator;