コレクションエンティティを表すクラスがあります。これには、配列という1つの属性しかありません。このクラスは、を実装\Countable
し、\IteratorAggregate
この質問で最も重要な、を実装し\ArrayAccess
ます。
しかし、使用する場合:
usort($collectionData, function($a, $b) {
return ($a->getPosition() > $b->getPosition());
});
次のキャッチ可能な例外が発生します:
警告:usort()は、パラメーター1が配列であり、オブジェクトが/home/alain/workspace/(...)n.php行1057(500内部サーバーエラー)で指定されていることを想定しています。
私は中間変数を使って騙すことができます:
$data = $collectionData->getData();
usort($data, function($a, $b) {
return ($a->getPosition() > $b->getPosition());
});
$collectionData->setData($data);
しかし、の配列パラメーター型の期待値を通過できるSPLインターフェースがあるかどうかを知りたいと思いましたusort()
。