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; }
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; }