org-puremvc-php-multicore
[ class tree: org-puremvc-php-multicore ] [ index: org-puremvc-php-multicore ] [ all elements ]

Source for file IObserver.php

Documentation is available at IObserver.php

  1. <?php
  2. /**
  3.  * PureMVC Multicore Port to PHP
  4.  *
  5.  * Partly based on PureMVC Port to PHP by:
  6.  * - Omar Gonzalez <omar@almerblank.com>
  7.  * - and Hasan Otuome <hasan@almerblank.com>
  8.  *
  9.  * Created on Jully 24, 2009
  10.  *
  11.  * @version 1.0
  12.  * @author Michel Chouinard <michel.chouinard@gmail.com>
  13.  * @copyright PureMVC - Copyright(c) 2006-2008 Futurescale, Inc., Some rights reserved.
  14.  * @license http://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 Unported License
  15.  * @package org.puremvc.php.multicore
  16.  *
  17.  */
  18. /**
  19.  *
  20.  */
  21.  
  22. require_once 'org/puremvc/php/multicore/interfaces/INotification.php';
  23.  
  24. /**
  25.  * The interface definition for a PureMVC Observer.
  26.  *
  27.  * In PureMVC, <b>IObserver</b> implementors assume these responsibilities:
  28.  *
  29.  * - Encapsulate the notification (callback) method of the interested object.
  30.  * - Encapsulate the notification context (this) of the interested object.
  31.  * - Provide methods for setting the interested object' notification method and context.
  32.  * - Provide a method for notifying the interested object.
  33.  *
  34.  * PureMVC does not rely upon underlying event
  35.  * models and PHP does not have an inherent
  36.  * event model.
  37.  *
  38.  * The Observer Pattern as implemented within
  39.  * PureMVC exists to support event driven communication
  40.  * between the application and the actors of the
  41.  * MVC triad.
  42.  *
  43.  * An Observer is an object that encapsulates information
  44.  * about an interested object with a notification method that
  45.  * should be called when an </b>INotification</b> is broadcast.
  46.  * The Observer then acts as a proxy for notifying the interested object.
  47.  *
  48.  * Observers can receive <b>Notification</b>s by having their
  49.  * <b>notifyObserver</b> method invoked, passing
  50.  * in an object implementing the <b>INotification</b> interface, such
  51.  * as a subclass of <b>Notification</b>.
  52.  *
  53.  * @see IView
  54.         org\puremvc\php\multicore\interfaces\IView
  55.  * @see INotification
  56.         org\puremvc\php\multicore\interfaces\INotification
  57.  * @package org.puremvc.php.multicore
  58.  *
  59.  */
  60. interface IObserver
  61. {
  62.     /**
  63.      * Set the notification method.
  64.      *
  65.      * The notification method should take one parameter of type <b>INotification</b>.
  66.      *
  67.      * @param string $notifyMethod The notification (callback) method name of the interested object.
  68.      * @return void 
  69.      */
  70.     public function setNotifyMethod$notifyMethod );
  71.  
  72.     /**
  73.      * Set the notification context.
  74.      *
  75.      * @param mixed $notifyContext The notification context ($this) of the interested object.
  76.      * @return void 
  77.      */
  78.     public function setNotifyContext$notifyContext );
  79.  
  80.     /**
  81.      * Notify the interested object.
  82.      *
  83.      * @param INotification $notification the <b>INotification</b> to pass to the interested object's notification method
  84.      * @return void 
  85.      */
  86.     public function notifyObserverINotification $notification );
  87.  
  88.     /**
  89.      * Compare the given object to the notificaiton context object.
  90.      *
  91.      * @param object $object the object to compare.
  92.      * @return bool Boolean indicating if the notification context and the object are the same.
  93.      */
  94.     public function compareNotifyContext$object );
  95. }

Documentation generated on Mon, 03 Aug 2009 04:57:57 +0000 by phpDocumentor 1.4.2