-
Notifications
You must be signed in to change notification settings - Fork 36
Description
# IEntityFactory
function createCollection(array $entities, ?string $entityClass = null);
Doteď jsem používal vlastní třídu Collection, která uměla pár rutin pro práci s kolekcí entit. Pokud ale pro nějakou entitu potřebuji zvláštní kolekci (dejme tomu BookCollection extends Collection), nemám jak ji vytvořit. Zkouším detekovat typ entity přímo z pole entit, ale to je ošklivé a navíc nespolehlivé - kolekce může být i prázdná.
Hodilo by se mi tedy předávat $entityClass do metody createCollection. Ta se volá na třech místech a vždy třídu vytvářených entit znám. Mohu poslat PR. Změna deklarace způsobí nekompatibilitu s případnými vlastními createCollection(array $entities);, ale v logice kódu nekompatibilita nevznikne, pokud je $entityClass volitelný parametr.
Případně by se to dalo řešit přetížením dotčených metod ve třidě Entity a Repository, ale ty jsou private a tedy není možné je upravit.