Event_SignalEmitter
[ class tree: Event_SignalEmitter ] [ index: Event_SignalEmitter ] [ all elements ]

Source for file dispatcher.php

Documentation is available at dispatcher.php

  1. <?php
  2. /**
  3. *   Using the dispatcher class
  4. */
  5. require_once 'Event/SignalEmitter/Dispatcher.php';
  6.  
  7. $dp->register_signal('download-begin');
  8. $dp->register_signal('download-progress');
  9. $dp->register_signal('download-complete');
  10.  
  11. class Logger
  12. {
  13.     public function log({
  14.         $args func_get_args();
  15.         echo 'Log: ' implode(' - '$args"\n";
  16.     }
  17. }
  18.  
  19. class Downloader
  20. {
  21.     public function download($file{
  22.         echo "Beginning download\n";
  23.         //simulate some downloading process
  24.         $dp Event_SignalEmitter_Dispatcher::singleton();
  25.         for ($nA = 0; $nA < 100; $nA += 10{
  26.             $dp->emit('download-progress'$file$nA);
  27.         }
  28.         $dp->emit('download-complete'$file);
  29.     }
  30. }
  31.  
  32.  
  33. $l = new Logger();
  34. $d = new Downloader();
  35.  
  36. $dp->connect_simple('download-begin'   array($l'log')'begin download');
  37. $dp->connect_simple('download-progress'array($l'log')'progress');
  38. $dp->connect_simple('download-complete'array($l'log')'download complete');
  39. $dp->connect_simple('download-begin'   array($d'download'));
  40.  
  41.  
  42. $dp->emit('download-begin''http://some.where/over/the/rainbow.htm');
  43. ?>

Documentation generated on Mon, 11 Mar 2019 15:41:22 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.