示例#1
0
 public static function delegate(Hermit $hermit, $methodName, HermitDelegateProxy $delgator)
 {
     $instance = null;
     if (!HermitRegister::hasCall(__CLASS__, $hermit)) {
         $instance = new self();
         HermitRegister::putCall(__CLASS__, $hermit, $instance);
     }
     $instance->delegaters[$methodName] = $responder;
 }
 protected static function getInstance()
 {
     if (null === self::$instance) {
         self::$instance = new self();
     }
     if (!HermitRegister::hasBehavior(__CLASS__)) {
         HermitRegister::putBehavior(__CLASS__, self::$instance);
     }
     return self::$instance;
 }
示例#3
0
 public static function listen(Hermit $hermit, $methodName, HermitRespondProxy $responder)
 {
     $instance = null;
     if (!HermitRegister::hasCall(__CLASS__, $hermit)) {
         $instance = new self();
         HermitRegister::putCall(__CLASS__, $hermit, $instance);
     }
     if (!isset($instance->responders[$methodName])) {
         $instance->responders[$methodName] = array();
     }
     $instance->responders[$methodName][] = $responder;
 }