Skip to content

EntityFactory->createCollection() by měla dostávat $entityClass #166

@miroslav-mrazek

Description

@miroslav-mrazek
# 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions