Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Notification Component Proposal

Proposed Component Name Zend_Notification
Developer Notes
Proposers Jurriën Stutterheim
Revision 1.0 - 29 December 2007: Setting up first draft (wiki revision: 13)

Table of Contents

1. Overview

Zend_Notification is a component based on Cocoa's NSNotification idea.
It's an observer pattern implementation for system wide event notification.
For a detailed explanation, please see the documentation in the references section.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component must provide a clean, non-intrusive way to handle event notification

4. Dependencies on Other Framework Components

  • Zend_Exception

5. Theory of Operation

The operation is very simple, but also very powerful. You can attach an object to a notification by calling the Notification_Center's addObserver() method. This method takes the observer (implements Zend_Notification_Observer_Interface) and the name of the notification as argument. More than one object can register to the same notification.
When a notification is sent, all objects that subscribed to that notification will be notified in order of subscription.
The Notification constructor takes three arguments (of which the last is optional). The first is the name of the notification. The second is (usually) the object than sent the notification.
The last argument is an array that allows for extra data to be sent along with the notification.

For a detailed description behind the notification idea, please see the NSNotification documentation.

6. Milestones / Tasks

  • Milestone 1: [DONE] finish this proposal
  • Milestone 2: collect and process comments
  • Milestone 3: write documentation
  • Milestone 4: write unit tests
  • Milestone 5: get approval and move the component to incubator
  • Milestone 6: finish component and move it to core

7. Class Index

  • Zend_Notification
  • Zend_Notification_Center
  • Zend_Notification_Observer_Interface
  • Zend_Notification_Exception

8. Use Cases


9. Class Skeletons


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.