-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[cookbook] add description of doctrine event subscriber #2301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[cookbook] add description of doctrine event subscriber #2301
Conversation
…etween symfony and doctrine event subscriber
A doctrine event subscriber must implement the ``Doctrine\Common\EventSubscriber`` | ||
interface and an event method for each event it subscribes to. | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should add .. code-block::php
before this line
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
sorry, seem to be tired. fixed those (and the source of my copy-paste too) |
@wouterj i fixed the styling problems. ok to merge? |
@dbu yes, I think so. But @weaverryan is the only person who can merge, so you need to wait until he has some time to merge some PRs. |
call for the events like the :ref:`Symfony event subscriber <event_dispatcher-using-event-subscribers>` | ||
can do. Doctrine event subscribers must return a simple array of the event | ||
names they subscribe to. Doctrine will then expect methods on the subscriber | ||
with the names of the subscribed events, just as when using an event listener. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you should contribute this to the Doctrine Common documentation about the EventManager instead and link it from the Symfony doc. Let's improve the doc of the Doctrine project as well :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i can try an update of the event listener doc in doctrine as well. but i still think that at least this tip belongs here rather than into the doctrine doc.
the doctrine doc already has an example of event listeners, but not event subscribers i think. i thought it does make sense to have the minimal examples here in the symfony doc too, to see how it works and then follow the link for details. how much of this cookbook entry would you want to remove?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
well, the doctrine doc should have an example of subscribers IMO
i did a pull request on doctrine doc now doctrine/orm-documentation#155 and added more links from here to that doc. i think it is useful to have the concrete examples right here in this cookbook entry, even if its duplication. |
@@ -152,4 +156,62 @@ specific type of entity (e.g. a ``Product`` entity but not a ``BlogPost`` | |||
entity), you should check for the class name of the entity in your method | |||
(as shown above). | |||
|
|||
.. _`The Event System`: http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/reference/events.html |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this link lead to a 404. i changed it (but git diff puts it at the very bottom of what i added here...)
created a doctrine PR on the right repository now: doctrine/orm#621 any other feedback on this? |
[cookbook] add description of doctrine event subscriber
Hey David! Very nice addition! I've merged this in with only minor tweaks at sha: 6f191da. Thanks! |
this confused me quite a bit, so i thought i better document it: the doctrine event subscriber is simpler than the symfony event subscriber. if you return from doctrine an array mapping event names to method names, doctrine will register for "events" with the names of those methods.