Uploaded image for project: 'Doctrine Common'
  1. Doctrine Common
  2. DCOM-74

Ideas for Event Manager Improvements

    Details

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

      Description

      I have two ideas for improving the event manager.

      1. Add a lazy-loading implementation as we discussed on IRC already (helpful for keeping the overhead of post generation schema listener down for example)
      2. Providing better debugging information of what is going on (which listeners have been called for which event, similar to Symfony2's event dispatcher)

        Activity

        Hide
        doctrinebot Doctrine Bot added a comment -

        A related Github Pull-Request [GH-153] was assigned:
        https://github.com/doctrine/common/pull/153

        Show
        doctrinebot Doctrine Bot added a comment - A related Github Pull-Request [GH-153] was assigned: https://github.com/doctrine/common/pull/153
        Hide
        doctrinebot Doctrine Bot added a comment -

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

        Show
        doctrinebot Doctrine Bot added a comment - A related Github Pull-Request [GH-153] was closed: https://github.com/doctrine/common/pull/153
        Hide
        guilhermeblanco Guilherme Blanco added a comment -

        I also provided a very initial draft 2 years ago, as of https://github.com/doctrine/common/pull/153

        Show
        guilhermeblanco Guilherme Blanco added a comment - I also provided a very initial draft 2 years ago, as of https://github.com/doctrine/common/pull/153
        Hide
        guilhermeblanco Guilherme Blanco added a comment -

        Marijn Huizendveld sure (like... 1 year later!)
        DOM2 Events ( http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/ )
        The idea is to create an event system where you can control the flow over the listeners, such as prevent the default operation or stop propagation.
        I'm a big fan of this because that way any piece can be easily decoupled from the base system and become a specialized event if needed. It also can be controlled depending on the conditions to be introspected by an specific listener.

        Show
        guilhermeblanco Guilherme Blanco added a comment - Marijn Huizendveld sure (like... 1 year later!) DOM2 Events ( http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/ ) The idea is to create an event system where you can control the flow over the listeners, such as prevent the default operation or stop propagation. I'm a big fan of this because that way any piece can be easily decoupled from the base system and become a specialized event if needed. It also can be controlled depending on the conditions to be introspected by an specific listener.
        Hide
        marijn Marijn Huizendveld added a comment -

        Would you care to elaborate on your DOM2 Events implementation Guilherme?

        Show
        marijn Marijn Huizendveld added a comment - Would you care to elaborate on your DOM2 Events implementation Guilherme?
        Hide
        guilhermeblanco Guilherme Blanco added a comment -

        I'm still a huge fan of DOM2 Events.

        I even have the code somewhere here, but that would break BC.

        Show
        guilhermeblanco Guilherme Blanco added a comment - I'm still a huge fan of DOM2 Events. I even have the code somewhere here, but that would break BC.

          People

          • Assignee:
            ocramius Marco Pivetta
            Reporter:
            johannes Johannes Schmitt
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: