Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-2796

[GH-847] Removed final from PersistentCollection

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Security Level: All
    • Labels:
      None

      Description

      This issue is created automatically through a Github pull request on behalf of maryo:

      Url: https://github.com/doctrine/doctrine2/pull/847

      Message:

      I would like to be able to extend PersistentCollection. But it is final.

      There is "@todo Design for inheritance to allow custom implementations?" in PersistentCollection.php.

      Ofc it needs more modifications because the instantiation of PersistentCollections is hardcoded in UnitOfWork and ObjectHydrator classes. Creating something like PersistentCollectionFactory or persistentCollectionClass could solve it but there are already lots of dependencies in those classes. I can live with the hardoded state. I can somehow "hack" it so it will always replace PersistentCollection instances with my own which extends PersistentCollection when they are set. It's ugly but it could work..

      So... At least removing the final statement helps me and could be a good start. Switching from private to protected for $em and $coll helps me also so i can read them in the descendant class but it can be "hacked" too even if i don't like hacks).

      If you can't accept this PR, let me know about the idea how "@todo Design for inheritance to allow custom implementations?" could be implemented and i will do it. If using a factory, class name or whatever.

        Activity

        Hide
        Doctrine Bot added a comment -

        A related Github Pull-Request [GH-847] was closed:
        https://github.com/doctrine/doctrine2/pull/847

        Show
        Doctrine Bot added a comment - A related Github Pull-Request [GH-847] was closed: https://github.com/doctrine/doctrine2/pull/847

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Doctrine Bot
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: